Module: OpenXML::SpreadsheetML

Defined in:
lib/xlsx/sheet.rb,
lib/xlsx/parser.rb,
lib/xlsx/workbook.rb,
lib/xlsx/sheet_data.rb,
lib/xlsx/DSL/version.rb,
lib/xlsx/shared_string.rb

Defined Under Namespace

Modules: DSL Classes: Cell, MergeCell, Row, SharedString, Sheet, SheetData, Workbook

Constant Summary collapse

@@sheets =
[]
@@shared_strings =
nil

Class Method Summary collapse

Class Method Details

.open(xlsx_path) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/xlsx/parser.rb', line 7

def open xlsx_path
  Zip::File.open(xlsx_path) do |zf|
    zf.each do |entry|
      content = entry.get_input_stream.read
      case entry.name
      when %r{^xl/workbook\.xml$}i
        workbook_parser content
      when %r{^xl/sharedStrings\.xml$}i
        shared_strings_parser content
      when %r{^xl/worksheets/sheet\d*\.xml$}i
        sheet_parser content
      end
    end
  end
  @@workbook.merge_sheets(@@sheets) if @@sheets
  @@workbook
end