Method: Axlsx::Workbook#to_xml_string
- Defined in:
- lib/axlsx/workbook/workbook.rb
#to_xml_string(str = '') ⇒ String
Serialize the workbook
329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 |
# File 'lib/axlsx/workbook/workbook.rb', line 329 def to_xml_string(str='') add_worksheet unless worksheets.size > 0 str << '<?xml version="1.0" encoding="UTF-8"?>' str << '<workbook xmlns="' << XML_NS << '" xmlns:r="' << XML_NS_R << '">' str << '<workbookPr date1904="' << @@date1904.to_s << '"/>' str << '<sheets>' @worksheets.each_with_index do |sheet, index| str << '<sheet name="' << sheet.name << '" sheetId="' << (index+1).to_s << '" r:id="' << sheet.rId << '"/>' if defined_name = sheet.auto_filter.defined_name add_defined_name defined_name, :name => '_xlnm._FilterDatabase', :local_sheet_id => index, :hidden => 1 end end str << '</sheets>' defined_names.to_xml_string(str) unless pivot_tables.empty? str << '<pivotCaches>' pivot_tables.each do |pivot_table| str << '<pivotCache cacheId="' << pivot_table.cache_definition.cache_id.to_s << '" r:id="' << pivot_table.cache_definition.rId << '"/>' end str << '</pivotCaches>' end str << '</workbook>' end |