class RubyXL::Parser

Public Class Methods

parse(src_file_path) click to toggle source

Parse .xslx file by reading it from local disk.

# File lib/rubyXL/parser.rb, line 5
def self.parse(src_file_path)
  begin
    ::Zip::File.open(src_file_path) { |zip_file|
      root = RubyXL::WorkbookRoot.parse_zip_file(zip_file)
      root.source_file_path = src_file_path
      root.workbook
    }
  rescue ::Zip::Error => e
    raise e, "XLSX file format error: #{e}", e.backtrace
  end
end
parse_buffer(buffer) click to toggle source

Parse .xslx file contained in a stream (useful for receiving over HTTP).

# File lib/rubyXL/parser.rb, line 18
def self.parse_buffer(buffer)
  root = nil # Zip::File.open_buffer somehow fails to return the value from the block :(
  begin
    ::Zip::File.open_buffer(buffer) { |zip_file| root = RubyXL::WorkbookRoot.parse_zip_file(zip_file)  } 
    root.workbook
  rescue ::Zip::Error => e
    raise e, "XLSX file format error: #{e}", e.backtrace
  end
end