Class: Writexlsx::Package::Packager

Inherits:
Object
  • Object
show all
Includes:
Utility
Defined in:
lib/write_xlsx/package/packager.rb

Constant Summary

Constants included from Utility

Utility::COL_MAX, Utility::ROW_MAX, Utility::SHEETNAME_MAX, Utility::STR_MAX

Instance Method Summary collapse

Methods included from Utility

#absolute_char, #check_dimensions, #check_dimensions_and_update_max_min_values, #check_parameter, #convert_date_time, delete_files, #ptrue?, #put_deprecate_message, #row_col_notation, #store_col_max_min_values, #store_row_max_min_values, #substitute_cellref, #underline_attributes, #write_color, #xl_cell_to_rowcol, #xl_col_to_name, #xl_range, #xl_range_formula, #xl_rowcol_to_cell, #xml_str

Constructor Details

#initializePackager

Returns a new instance of Packager.



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/write_xlsx/package/packager.rb', line 21

def initialize
  @package_dir       = ''
  @workbook         = nil
  @sheet_names      = []
  @worksheet_count  = 0
  @chartsheet_count = 0
  @chart_count      = 0
  @drawing_count    = 0
  @table_count      = 0
  @named_ranges     = []
end

Instance Method Details

#add_workbook(workbook) ⇒ Object

Add the Workbook object to the package.



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/write_xlsx/package/packager.rb', line 40

def add_workbook(workbook)
  @workbook          = workbook
  @sheet_names       = workbook.sheetnames
  @chart_count       = workbook.charts.size
  @drawing_count     = workbook.drawings.size
  @num_comment_files = workbook.num_comment_files
  @named_ranges      = workbook.named_ranges

  workbook.worksheets.each do |worksheet|
    if worksheet.is_chartsheet?
      @chartsheet_count += 1
    else
      @worksheet_count += 1
    end
  end
end

#create_packageObject

Write the xml files that make up the XLXS OPC package.



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/write_xlsx/package/packager.rb', line 60

def create_package
  write_worksheet_files
  write_chartsheet_files
  write_workbook_file
  write_chart_files
  write_drawing_files
  write_vml_files
  write_comment_files
  write_table_files
  write_shared_strings_file
  write_app_file
  write_core_file
  write_content_types_file
  write_styles_file
  write_theme_file
  write_root_rels_file
  write_workbook_rels_file
  write_worksheet_rels_files
  write_chartsheet_rels_files
  write_drawing_rels_files
  add_image_files
  add_vba_project
end

#set_package_dir(package_dir) ⇒ Object



33
34
35
# File 'lib/write_xlsx/package/packager.rb', line 33

def set_package_dir(package_dir)
  @package_dir = package_dir
end