write_xlsx 1.13.0 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +15 -0
  3. data/Changes +20 -0
  4. data/lib/write_xlsx/chart/area.rb +2 -2
  5. data/lib/write_xlsx/chart/axis.rb +55 -32
  6. data/lib/write_xlsx/chart/axis_writer.rb +528 -0
  7. data/lib/write_xlsx/chart/bar.rb +2 -2
  8. data/lib/write_xlsx/chart/caption.rb +16 -9
  9. data/lib/write_xlsx/chart/chart_area.rb +121 -0
  10. data/lib/write_xlsx/chart/column.rb +2 -2
  11. data/lib/write_xlsx/chart/d_pt_point_writer.rb +14 -0
  12. data/lib/write_xlsx/chart/doughnut.rb +0 -3
  13. data/lib/write_xlsx/chart/formatting_writer.rb +652 -0
  14. data/lib/write_xlsx/chart/initialization.rb +100 -0
  15. data/lib/write_xlsx/chart/line.rb +4 -3
  16. data/lib/write_xlsx/chart/pie.rb +6 -2
  17. data/lib/write_xlsx/chart/radar.rb +2 -2
  18. data/lib/write_xlsx/chart/scatter.rb +4 -3
  19. data/lib/write_xlsx/chart/series.rb +35 -15
  20. data/lib/write_xlsx/chart/series_data.rb +132 -0
  21. data/lib/write_xlsx/chart/series_writer.rb +318 -0
  22. data/lib/write_xlsx/chart/settings.rb +226 -0
  23. data/lib/write_xlsx/chart/stock.rb +2 -2
  24. data/lib/write_xlsx/chart/table.rb +50 -0
  25. data/lib/write_xlsx/chart/xml_writer.rb +305 -0
  26. data/lib/write_xlsx/chart.rb +286 -2477
  27. data/lib/write_xlsx/chartsheet.rb +31 -82
  28. data/lib/write_xlsx/constants.rb +11 -0
  29. data/lib/write_xlsx/drawing.rb +5 -3
  30. data/lib/write_xlsx/format/alignment_state.rb +39 -0
  31. data/lib/write_xlsx/format/alignment_style.rb +92 -0
  32. data/lib/write_xlsx/format/border_state.rb +47 -0
  33. data/lib/write_xlsx/format/border_style.rb +116 -0
  34. data/lib/write_xlsx/format/fill_state.rb +26 -0
  35. data/lib/write_xlsx/format/fill_style.rb +52 -0
  36. data/lib/write_xlsx/format/font_state.rb +74 -0
  37. data/lib/write_xlsx/format/font_style.rb +172 -0
  38. data/lib/write_xlsx/format/format_state.rb +65 -0
  39. data/lib/write_xlsx/format/number_format_state.rb +20 -0
  40. data/lib/write_xlsx/format/number_format_style.rb +28 -0
  41. data/lib/write_xlsx/format/protection_state.rb +20 -0
  42. data/lib/write_xlsx/format/protection_style.rb +28 -0
  43. data/lib/write_xlsx/format.rb +1093 -426
  44. data/lib/write_xlsx/formats.rb +0 -2
  45. data/lib/write_xlsx/image_property.rb +4 -1
  46. data/lib/write_xlsx/inserted_chart.rb +1 -1
  47. data/lib/write_xlsx/object_positioning.rb +15 -1
  48. data/lib/write_xlsx/package/app.rb +2 -2
  49. data/lib/write_xlsx/package/button.rb +6 -2
  50. data/lib/write_xlsx/package/comments.rb +11 -3
  51. data/lib/write_xlsx/package/conditional_format.rb +7 -3
  52. data/lib/write_xlsx/package/content_types.rb +2 -2
  53. data/lib/write_xlsx/package/core.rb +2 -2
  54. data/lib/write_xlsx/package/custom.rb +3 -2
  55. data/lib/write_xlsx/package/metadata.rb +2 -2
  56. data/lib/write_xlsx/package/packager.rb +0 -3
  57. data/lib/write_xlsx/package/relationships.rb +2 -2
  58. data/lib/write_xlsx/package/rich_value.rb +4 -2
  59. data/lib/write_xlsx/package/rich_value_rel.rb +2 -2
  60. data/lib/write_xlsx/package/rich_value_structure.rb +2 -2
  61. data/lib/write_xlsx/package/rich_value_types.rb +3 -3
  62. data/lib/write_xlsx/package/shared_strings.rb +2 -2
  63. data/lib/write_xlsx/package/styles.rb +13 -9
  64. data/lib/write_xlsx/package/table.rb +8 -2
  65. data/lib/write_xlsx/package/theme.rb +0 -3
  66. data/lib/write_xlsx/package/vml.rb +2 -2
  67. data/lib/write_xlsx/page_setup.rb +3 -1
  68. data/lib/write_xlsx/shape.rb +97 -100
  69. data/lib/write_xlsx/sheets.rb +6 -1
  70. data/lib/write_xlsx/sparkline.rb +2 -2
  71. data/lib/write_xlsx/utility/cell_reference.rb +124 -0
  72. data/lib/write_xlsx/utility/chart_formatting.rb +262 -0
  73. data/lib/write_xlsx/utility/common.rb +44 -0
  74. data/lib/write_xlsx/utility/date_time.rb +113 -0
  75. data/lib/write_xlsx/utility/dimensions.rb +40 -0
  76. data/lib/write_xlsx/utility/drawing.rb +136 -0
  77. data/lib/write_xlsx/utility/rich_text.rb +184 -0
  78. data/lib/write_xlsx/utility/sheetname_quoting.rb +73 -0
  79. data/lib/write_xlsx/utility/string_width.rb +45 -0
  80. data/lib/write_xlsx/utility/url.rb +27 -0
  81. data/lib/write_xlsx/utility/xml_primitives.rb +32 -0
  82. data/lib/write_xlsx/version.rb +1 -1
  83. data/lib/write_xlsx/workbook/chart_data.rb +188 -0
  84. data/lib/write_xlsx/workbook/format_preparation.rb +199 -0
  85. data/lib/write_xlsx/workbook/initialization.rb +223 -0
  86. data/lib/write_xlsx/workbook/package_preparation.rb +231 -0
  87. data/lib/write_xlsx/workbook/workbook_writer.rb +164 -0
  88. data/lib/write_xlsx/workbook.rb +143 -981
  89. data/lib/write_xlsx/worksheet/autofilter.rb +3 -1
  90. data/lib/write_xlsx/worksheet/cell_data.rb +5 -1
  91. data/lib/write_xlsx/worksheet/columns.rb +8 -3
  92. data/lib/write_xlsx/worksheet/data_validation.rb +9 -1
  93. data/lib/write_xlsx/worksheet/data_writing.rb +37 -10
  94. data/lib/write_xlsx/worksheet/formatting.rb +3 -1
  95. data/lib/write_xlsx/worksheet/hyperlink.rb +9 -1
  96. data/lib/write_xlsx/worksheet/row_col_sizing.rb +3 -1
  97. data/lib/write_xlsx/worksheet/xml_writer.rb +9 -4
  98. data/lib/write_xlsx/worksheet.rb +19 -2
  99. metadata +41 -2
  100. data/lib/write_xlsx/utility.rb +0 -1034
@@ -5,8 +5,6 @@ require 'write_xlsx/package/xml_writer_simple'
5
5
 
6
6
  module Writexlsx
7
7
  class Formats
8
- include Writexlsx::Utility
9
-
10
8
  attr_reader :formats, :xf_format_indices, :dxf_format_indices
11
9
 
12
10
  def initialize
@@ -2,9 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require 'digest/md5'
5
+ require 'write_xlsx/utility/common'
5
6
 
6
7
  module Writexlsx
7
8
  class ImageProperty
9
+ include Utility::Common
10
+
8
11
  attr_reader :type, :width, :height, :name, :x_dpi, :y_dpi, :md5
9
12
  attr_reader :filename, :description, :decorative
10
13
  attr_accessor :ref_id, :body, :position
@@ -66,7 +69,7 @@ module Writexlsx
66
69
  y_ppu = data[offset + 12, 4].unpack1("N")
67
70
  units = data[offset + 16, 1].unpack1("C")
68
71
 
69
- if units == 1
72
+ if units == 1 && ptrue?(x_ppu) && ptrue?(y_ppu)
70
73
  @x_dpi = x_ppu * 0.0254
71
74
  @y_dpi = y_ppu * 0.0254
72
75
  end
@@ -3,7 +3,7 @@
3
3
 
4
4
  module Writexlsx
5
5
  class InsertedChart
6
- include Writexlsx::Utility
6
+ include Writexlsx::Utility::Common
7
7
 
8
8
  attr_reader :row, :col, :chart, :x_offset, :y_offset
9
9
  attr_reader :x_scale, :y_scale
@@ -1,9 +1,23 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # frozen_string_literal: true
3
3
 
4
+ require 'write_xlsx/utility/cell_reference'
5
+ require 'write_xlsx/utility/chart_formatting'
6
+ require 'write_xlsx/utility/dimensions'
7
+ require 'write_xlsx/utility/date_time'
8
+ require 'write_xlsx/utility/url'
9
+ require 'write_xlsx/utility/xml_primitives'
10
+ require 'write_xlsx/utility/sheetname_quoting'
11
+
4
12
  module Writexlsx
5
13
  module ObjectPositioning
6
- include Writexlsx::Utility
14
+ include Writexlsx::Utility::CellReference
15
+ include Writexlsx::Utility::ChartFormatting
16
+ include Writexlsx::Utility::Dimensions
17
+ include Writexlsx::Utility::DateTime
18
+ include Writexlsx::Utility::Url
19
+ include Writexlsx::Utility::XmlPrimitives
20
+ include Writexlsx::Utility::SheetnameQuoting
7
21
 
8
22
  #
9
23
  # Calculate the vertices that define the position of a graphical object
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require 'write_xlsx/package/xml_writer_simple'
5
- require 'write_xlsx/utility'
5
+ require 'write_xlsx/utility/xml_primitives'
6
6
 
7
7
  module Writexlsx
8
8
  module Package
9
9
  class App
10
- include Writexlsx::Utility
10
+ include Writexlsx::Utility::XmlPrimitives
11
11
 
12
12
  attr_writer :doc_security
13
13
 
@@ -1,12 +1,16 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # frozen_string_literal: true
3
3
 
4
- require 'write_xlsx/utility'
4
+ require 'write_xlsx/utility/common'
5
+ require 'write_xlsx/utility/string_width'
6
+ require 'write_xlsx/utility/drawing'
5
7
 
6
8
  module Writexlsx
7
9
  module Package
8
10
  class Button
9
- include Writexlsx::Utility
11
+ include Writexlsx::Utility::Common
12
+ include Writexlsx::Utility::StringWidth
13
+ include Writexlsx::Utility::Drawing
10
14
 
11
15
  def initialize(worksheet, row, col, params, default_row_pixels, button_number)
12
16
  @worksheet = worksheet
@@ -1,14 +1,20 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # frozen_string_literal: true
3
3
 
4
+ require 'write_xlsx/constants'
4
5
  require 'write_xlsx/format'
5
6
  require 'write_xlsx/package/xml_writer_simple'
6
- require 'write_xlsx/utility'
7
+ require 'write_xlsx/utility/common'
8
+ require 'write_xlsx/utility/cell_reference'
9
+ require 'write_xlsx/utility/drawing'
7
10
 
8
11
  module Writexlsx
9
12
  module Package
10
13
  class Comment
11
- include Writexlsx::Utility
14
+ include Constants
15
+ include Writexlsx::Utility::Common
16
+ include Writexlsx::Utility::CellReference
17
+ include Writexlsx::Utility::Drawing
12
18
 
13
19
  DEFAULT_COLOR = 81 # what color ?
14
20
  DEFAULT_WIDTH = 128
@@ -243,7 +249,9 @@ module Writexlsx
243
249
  end
244
250
 
245
251
  class Comments
246
- include Writexlsx::Utility
252
+ include Writexlsx::Utility::Common
253
+ include Writexlsx::Utility::CellReference
254
+ include Writexlsx::Utility::XmlPrimitives
247
255
 
248
256
  def initialize(worksheet)
249
257
  @worksheet = worksheet
@@ -4,7 +4,11 @@
4
4
  module Writexlsx
5
5
  module Package
6
6
  class ConditionalFormat
7
- include Writexlsx::Utility
7
+ include Writexlsx::Utility::Common
8
+ include Writexlsx::Utility::CellReference
9
+ include Writexlsx::Utility::Dimensions
10
+ include Writexlsx::Utility::DateTime
11
+ include Writexlsx::Utility::XmlPrimitives
8
12
 
9
13
  def self.factory(worksheet, *args)
10
14
  range, param =
@@ -481,7 +485,7 @@ module Writexlsx
481
485
  param[:criteria] = valid_criteria_type_for_conditional_formatting[param[:criteria].downcase] if param.has_key?(:criteria) && valid_criteria_type_for_conditional_formatting.has_key?(param[:criteria].downcase)
482
486
 
483
487
  # Convert date/times value if required.
484
- if %w[date time cellIs].include?(param[:type])
488
+ if %w[date time].include?(param[:type])
485
489
  param[:type] = 'cellIs'
486
490
 
487
491
  param[:value] = convert_date_time_if_required(param[:value])
@@ -744,7 +748,7 @@ module Writexlsx
744
748
  quoted_value = value.to_s
745
749
  numeric_regex = /^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/
746
750
  # String "Cell" values must be quoted, apart from ranges.
747
- if !(quoted_value =~ /(\$?)([A-Z]{1,3})(\$?)(\d+)/) &&
751
+ if !(quoted_value =~ /^(\$?)([A-Z]{1,3})(\$?)(\d+)/) &&
748
752
  !(quoted_value =~ numeric_regex) &&
749
753
  !(quoted_value =~ /^".*"$/)
750
754
  quoted_value = %("#{value}")
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require 'write_xlsx/package/xml_writer_simple'
5
- require 'write_xlsx/utility'
5
+ require 'write_xlsx/utility/xml_primitives'
6
6
 
7
7
  module Writexlsx
8
8
  module Package
9
9
  class ContentTypes
10
- include Writexlsx::Utility
10
+ include Writexlsx::Utility::XmlPrimitives
11
11
 
12
12
  App_package = 'application/vnd.openxmlformats-package.'
13
13
  App_document = 'application/vnd.openxmlformats-officedocument.'
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require 'write_xlsx/package/xml_writer_simple'
5
- require 'write_xlsx/utility'
5
+ require 'write_xlsx/utility/xml_primitives'
6
6
 
7
7
  module Writexlsx
8
8
  module Package
9
9
  class Core
10
- include Writexlsx::Utility
10
+ include Writexlsx::Utility::XmlPrimitives
11
11
 
12
12
  App_package = 'application/vnd.openxmlformats-package.'
13
13
  App_document = 'application/vnd.openxmlformats-officedocument.'
@@ -2,12 +2,13 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require 'write_xlsx/package/xml_writer_simple'
5
- require 'write_xlsx/utility'
5
+ require 'write_xlsx/utility/xml_primitives'
6
6
 
7
7
  module Writexlsx
8
8
  module Package
9
9
  class Custom
10
- include Writexlsx::Utility
10
+ include Writexlsx::Utility::Common
11
+ include Writexlsx::Utility::XmlPrimitives
11
12
 
12
13
  def initialize
13
14
  @writer = Package::XMLWriterSimple.new
@@ -2,7 +2,7 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require 'write_xlsx/package/xml_writer_simple'
5
- require 'write_xlsx/utility'
5
+ require 'write_xlsx/utility/xml_primitives'
6
6
 
7
7
  module Writexlsx
8
8
  module Package
@@ -10,7 +10,7 @@ module Writexlsx
10
10
  # Metadata - A class for writing the Excel XLSX metadata.xml file.
11
11
  #
12
12
  class Metadata
13
- include Writexlsx::Utility
13
+ include Writexlsx::Utility::XmlPrimitives
14
14
 
15
15
  attr_writer :has_dynamic_functions
16
16
  attr_writer :num_embedded_images
@@ -2,7 +2,6 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require 'write_xlsx/package/xml_writer_simple'
5
- require 'write_xlsx/utility'
6
5
  require 'write_xlsx/package/app'
7
6
  require 'write_xlsx/package/comments'
8
7
  require 'write_xlsx/package/content_types'
@@ -23,8 +22,6 @@ require 'write_xlsx/package/vml'
23
22
  module Writexlsx
24
23
  module Package
25
24
  class Packager
26
- include Writexlsx::Utility
27
-
28
25
  def initialize(workbook)
29
26
  @workbook = workbook
30
27
  @package_dir = ''
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require 'write_xlsx/package/xml_writer_simple'
5
- require 'write_xlsx/utility'
5
+ require 'write_xlsx/utility/xml_primitives'
6
6
 
7
7
  module Writexlsx
8
8
  module Package
9
9
  class Relationships
10
- include Writexlsx::Utility
10
+ include Writexlsx::Utility::XmlPrimitives
11
11
 
12
12
  Schema_root = 'http://schemas.openxmlformats.org'
13
13
  Package_schema = Schema_root + '/package/2006/relationships'
@@ -2,12 +2,14 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require 'write_xlsx/package/xml_writer_simple'
5
- require 'write_xlsx/utility'
5
+ require 'write_xlsx/utility/common'
6
+ require 'write_xlsx/utility/xml_primitives'
6
7
 
7
8
  module Writexlsx
8
9
  module Package
9
10
  class RichValue
10
- include Writexlsx::Utility
11
+ include Writexlsx::Utility::Common
12
+ include Writexlsx::Utility::XmlPrimitives
11
13
 
12
14
  attr_accessor :embedded_images
13
15
 
@@ -2,7 +2,7 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require 'write_xlsx/package/xml_writer_simple'
5
- require 'write_xlsx/utility'
5
+ require 'write_xlsx/utility/xml_primitives'
6
6
 
7
7
  module Writexlsx
8
8
  module Package
@@ -16,7 +16,7 @@ module Writexlsx
16
16
  # Convert to Ruby by Hideo Nakamura, nakamura.hideo@gmail.com
17
17
  #
18
18
  class RichValueRel
19
- include Writexlsx::Utility
19
+ include Writexlsx::Utility::XmlPrimitives
20
20
 
21
21
  attr_writer :value_count
22
22
 
@@ -2,7 +2,7 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require 'write_xlsx/package/xml_writer_simple'
5
- require 'write_xlsx/utility'
5
+ require 'write_xlsx/utility/xml_primitives'
6
6
 
7
7
  module Writexlsx
8
8
  module Package
@@ -17,7 +17,7 @@ module Writexlsx
17
17
  # Convert to Ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
18
18
  #
19
19
  class RichValueStructure
20
- include Writexlsx::Utility
20
+ include Writexlsx::Utility::XmlPrimitives
21
21
 
22
22
  attr_writer :has_embedded_descriptions
23
23
 
@@ -2,7 +2,7 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require 'write_xlsx/package/xml_writer_simple'
5
- require 'write_xlsx/utility'
5
+ require 'write_xlsx/utility/xml_primitives'
6
6
 
7
7
  module Writexlsx
8
8
  module Package
@@ -16,10 +16,10 @@ module Writexlsx
16
16
  # Convert to Ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
17
17
  #
18
18
  class RichValueTypes
19
- include Writexlsx::Utility
19
+ include Writexlsx::Utility::XmlPrimitives
20
20
 
21
21
  def initialize
22
- @writer = Package::XMLWriterSimple.new
22
+ @writer = Package::XMLWriterSimple.new
23
23
  end
24
24
 
25
25
  def set_xml_writer(filename)
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require 'write_xlsx/package/xml_writer_simple'
5
- require 'write_xlsx/utility'
5
+ require 'write_xlsx/utility/xml_primitives'
6
6
 
7
7
  module Writexlsx
8
8
  module Package
9
9
  class SharedStrings
10
- include Writexlsx::Utility
10
+ include Writexlsx::Utility::XmlPrimitives
11
11
 
12
12
  PRESERVE_SPACE_ATTRIBUTES = ['xml:space', 'preserve'].freeze
13
13
 
@@ -2,12 +2,16 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require 'write_xlsx/package/xml_writer_simple'
5
- require 'write_xlsx/utility'
5
+ require 'write_xlsx/utility/common'
6
+ require 'write_xlsx/utility/chart_formatting'
7
+ require 'write_xlsx/utility/xml_primitives'
6
8
 
7
9
  module Writexlsx
8
10
  module Package
9
11
  class Styles
10
- include Writexlsx::Utility
12
+ include Writexlsx::Utility::Common
13
+ include Writexlsx::Utility::ChartFormatting
14
+ include Writexlsx::Utility::XmlPrimitives
11
15
 
12
16
  def initialize
13
17
  @writer = Package::XMLWriterSimple.new
@@ -247,7 +251,7 @@ module Writexlsx
247
251
  def write_fill(format, dxf_format = nil)
248
252
  # Special handling for pattern only case.
249
253
  if pattern_only_case?(format, dxf_format)
250
- write_default_fill(PATTERNS[format.pattern])
254
+ write_default_fill(PATTERNS[format.fill_style.pattern])
251
255
  else
252
256
  @writer.tag_elements('fill') do
253
257
  write_fill_base(format, dxf_format)
@@ -258,15 +262,15 @@ module Writexlsx
258
262
  def pattern_only_case?(format, dxf_format)
259
263
  bg_color, fg_color = bg_and_fg_color(format, dxf_format)
260
264
 
261
- !ptrue?(fg_color) && !ptrue?(bg_color) && ptrue?(format.pattern)
265
+ !ptrue?(fg_color) && !ptrue?(bg_color) && ptrue?(format.fill_style.pattern)
262
266
  end
263
267
 
264
268
  def write_fill_base(format, dxf_format)
265
269
  # The "none" pattern is handled differently for dxf formats.
266
- attributes = if dxf_format && format.pattern <= 1
270
+ attributes = if dxf_format && format.fill_style.pattern <= 1
267
271
  []
268
272
  else
269
- [['patternType', PATTERNS[format.pattern]]]
273
+ [['patternType', PATTERNS[format.fill_style.pattern]]]
270
274
  end
271
275
 
272
276
  @writer.tag_elements('patternFill', attributes) do
@@ -285,14 +289,14 @@ module Writexlsx
285
289
  if bg_color != 0x40 # 'Automatic'
286
290
  @writer.empty_tag('bgColor', [['rgb', palette_color(bg_color)]])
287
291
  end
288
- elsif !dxf_format && format.pattern <= 1
292
+ elsif !dxf_format && format.fill_style.pattern <= 1
289
293
  @writer.empty_tag('bgColor', [['indexed', 64]])
290
294
  end
291
295
  end
292
296
 
293
297
  def bg_and_fg_color(format, dxf_format)
294
- bg_color = format.bg_color
295
- fg_color = format.fg_color
298
+ bg_color = format.fill_style.bg_color
299
+ fg_color = format.fill_style.fg_color
296
300
 
297
301
  # Colors for dxf formats are handled differently from normal formats since
298
302
  # the normal format reverses the meaning of BG and FG for solid fills.
@@ -2,12 +2,18 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require 'write_xlsx/package/xml_writer_simple'
5
- require 'write_xlsx/utility'
5
+ require 'write_xlsx/utility/common'
6
+ require 'write_xlsx/utility/cell_reference'
7
+ require 'write_xlsx/utility/dimensions'
8
+ require 'write_xlsx/utility/xml_primitives'
6
9
 
7
10
  module Writexlsx
8
11
  module Package
9
12
  class Table
10
- include Writexlsx::Utility
13
+ include Writexlsx::Utility::Common
14
+ include Writexlsx::Utility::CellReference
15
+ include Writexlsx::Utility::Dimensions
16
+ include Writexlsx::Utility::XmlPrimitives
11
17
 
12
18
  class ColumnData
13
19
  attr_reader :id
@@ -2,13 +2,10 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require 'write_xlsx/package/xml_writer_simple'
5
- require 'write_xlsx/utility'
6
5
 
7
6
  module Writexlsx
8
7
  module Package
9
8
  class Theme
10
- include Writexlsx::Utility
11
-
12
9
  def initialize
13
10
  @writer = nil
14
11
  end
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require 'write_xlsx/package/xml_writer_simple'
5
- require 'write_xlsx/utility'
5
+ require 'write_xlsx/utility/drawing'
6
6
 
7
7
  module Writexlsx
8
8
  module Package
9
9
  class Vml
10
- include Writexlsx::Utility
10
+ include Writexlsx::Utility::Drawing
11
11
 
12
12
  def initialize
13
13
  @writer = Package::XMLWriterSimple.new
@@ -1,9 +1,11 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  # frozen_string_literal: true
3
3
 
4
+ require 'write_xlsx/utility/common'
5
+
4
6
  module Writexlsx
5
7
  class PageSetup # :nodoc:
6
- include Writexlsx::Utility
8
+ include Writexlsx::Utility::Common
7
9
 
8
10
  attr_accessor :margin_left, :margin_right, :margin_top, :margin_bottom # :nodoc:
9
11
  attr_accessor :margin_header, :margin_footer # :nodoc: