Class: RubyXL::Parser
- Inherits:
-
Object
- Object
- RubyXL::Parser
- Defined in:
- lib/rubyXL/parser.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(opts = {}) ⇒ Parser
constructor
:data_only
allows only the sheet data to be parsed, so as to speed up parsing. - #parse(xl_file_path) ⇒ Object
Constructor Details
#initialize(opts = {}) ⇒ Parser
:data_only
allows only the sheet data to be parsed, so as to speed up parsing. However, using this option will result in date-formatted cells being interpreted as numbers.
13 14 15 |
# File 'lib/rubyXL/parser.rb', line 13 def initialize(opts = {}) @opts = opts end |
Class Method Details
.parse(file_path, opts = {}) ⇒ Object
7 8 9 |
# File 'lib/rubyXL/parser.rb', line 7 def self.parse(file_path, opts = {}) self.new(opts).parse(file_path) end |
Instance Method Details
#parse(xl_file_path) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/rubyXL/parser.rb', line 17 def parse(xl_file_path) root = RubyXL::WorkbookRoot.parse_file(xl_file_path, @opts) wb = root.workbook wb.sheets.each_with_index { |sheet, i| sheet_obj = wb.relationship_container.[sheet.r_id] wb.worksheets[i] = sheet_obj # Must be done first so the sheet becomes aware of its number sheet_obj.workbook = wb sheet_obj.sheet_name = sheet.name sheet_obj.sheet_id = sheet.sheet_id sheet_obj.state = sheet.state } wb end |