Method: Writexlsx::Sheets#write_vml_files

Defined in:
lib/write_xlsx/sheets.rb

#write_vml_files(package_dir) ⇒ Object



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/write_xlsx/sheets.rb', line 61

def write_vml_files(package_dir)
  dir = "#{package_dir}/xl/drawings"
  index = 1
  each do |sheet|
    next if !sheet.has_vml? and !sheet.has_header_vml?

    FileUtils.mkdir_p(dir)

    if sheet.has_vml?
      vml = Package::Vml.new
      vml.set_xml_writer("#{dir}/vmlDrawing#{index}.vml")
      vml.assemble_xml_file(
        sheet.vml_data_id, sheet.vml_shape_id,
        sheet.sorted_comments, sheet.buttons_data
      )
      index += 1
    end
    next unless sheet.has_header_vml?

    vml = Package::Vml.new
    vml.set_xml_writer("#{dir}/vmlDrawing#{index}.vml")
    vml.assemble_xml_file(
      sheet.vml_header_id, sheet.vml_header_id * 1024,
      [], [], sheet.header_images_data
    )
    write_vml_drawing_rels_files(package_dir, sheet, index)
    index += 1
  end
end