Class: OOXML::Excel::Workbook
- Inherits:
-
Object
- Object
- OOXML::Excel::Workbook
- Defined in:
- lib/ooxml_excel/workbook.rb
Class Method Summary collapse
Instance Method Summary collapse
- #defined_names ⇒ Object
-
#initialize(xml) ⇒ Workbook
constructor
A new instance of Workbook.
- #sheets ⇒ Object
Constructor Details
#initialize(xml) ⇒ Workbook
Returns a new instance of Workbook.
4 5 6 |
# File 'lib/ooxml_excel/workbook.rb', line 4 def initialize(xml) @xml = xml end |
Class Method Details
.load_from_stream(xml_stream) ⇒ Object
30 31 32 |
# File 'lib/ooxml_excel/workbook.rb', line 30 def self.load_from_stream(xml_stream) self.new (Nokogiri.XML(xml_stream).remove_namespaces!) end |
Instance Method Details
#defined_names ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/ooxml_excel/workbook.rb', line 19 def defined_names @defined_names ||= begin @xml.xpath('//definedNames/definedName').map do |defined_names_node| name = defined_names_node.attribute('name').value reference = defined_names_node.text [name, reference] end.to_h end end |
#sheets ⇒ Object
8 9 10 11 12 13 14 15 16 17 |
# File 'lib/ooxml_excel/workbook.rb', line 8 def sheets @sheets ||= begin @xml.xpath('//sheets/sheet').map do |sheet_node| name = sheet_node.attribute('name').value rel_id = sheet_node.attribute('id').value.gsub(/[^\d+]/, '') sheet_id = sheet_node.attribute('sheetId').value { name: name, sheet_id: sheet_id, relationship_id: rel_id} end end end |