write_xlsx 1.12.3 → 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.
- checksums.yaml +4 -4
- data/.rubocop.yml +22 -0
- data/Changes +23 -0
- data/README.md +1 -1
- data/lib/write_xlsx/chart/area.rb +2 -2
- data/lib/write_xlsx/chart/axis.rb +55 -32
- data/lib/write_xlsx/chart/axis_writer.rb +528 -0
- data/lib/write_xlsx/chart/bar.rb +2 -2
- data/lib/write_xlsx/chart/caption.rb +16 -9
- data/lib/write_xlsx/chart/chart_area.rb +121 -0
- data/lib/write_xlsx/chart/column.rb +2 -2
- data/lib/write_xlsx/chart/d_pt_point_writer.rb +14 -0
- data/lib/write_xlsx/chart/doughnut.rb +0 -3
- data/lib/write_xlsx/chart/formatting_writer.rb +652 -0
- data/lib/write_xlsx/chart/initialization.rb +100 -0
- data/lib/write_xlsx/chart/line.rb +4 -3
- data/lib/write_xlsx/chart/pie.rb +6 -2
- data/lib/write_xlsx/chart/radar.rb +2 -2
- data/lib/write_xlsx/chart/scatter.rb +4 -3
- data/lib/write_xlsx/chart/series.rb +35 -15
- data/lib/write_xlsx/chart/series_data.rb +132 -0
- data/lib/write_xlsx/chart/series_writer.rb +318 -0
- data/lib/write_xlsx/chart/settings.rb +226 -0
- data/lib/write_xlsx/chart/stock.rb +2 -2
- data/lib/write_xlsx/chart/table.rb +50 -0
- data/lib/write_xlsx/chart/xml_writer.rb +305 -0
- data/lib/write_xlsx/chart.rb +286 -2477
- data/lib/write_xlsx/chartsheet.rb +35 -83
- data/lib/write_xlsx/constants.rb +11 -0
- data/lib/write_xlsx/drawing.rb +5 -3
- data/lib/write_xlsx/format/alignment_state.rb +39 -0
- data/lib/write_xlsx/format/alignment_style.rb +92 -0
- data/lib/write_xlsx/format/border_state.rb +47 -0
- data/lib/write_xlsx/format/border_style.rb +116 -0
- data/lib/write_xlsx/format/fill_state.rb +26 -0
- data/lib/write_xlsx/format/fill_style.rb +52 -0
- data/lib/write_xlsx/format/font_state.rb +74 -0
- data/lib/write_xlsx/format/font_style.rb +172 -0
- data/lib/write_xlsx/format/format_state.rb +65 -0
- data/lib/write_xlsx/format/number_format_state.rb +20 -0
- data/lib/write_xlsx/format/number_format_style.rb +28 -0
- data/lib/write_xlsx/format/protection_state.rb +20 -0
- data/lib/write_xlsx/format/protection_style.rb +28 -0
- data/lib/write_xlsx/format.rb +1093 -426
- data/lib/write_xlsx/formats.rb +0 -2
- data/lib/write_xlsx/image_property.rb +4 -1
- data/lib/write_xlsx/inserted_chart.rb +1 -1
- data/lib/write_xlsx/object_positioning.rb +203 -0
- data/lib/write_xlsx/package/app.rb +3 -3
- data/lib/write_xlsx/package/button.rb +6 -2
- data/lib/write_xlsx/package/comments.rb +11 -3
- data/lib/write_xlsx/package/conditional_format.rb +7 -3
- data/lib/write_xlsx/package/content_types.rb +2 -2
- data/lib/write_xlsx/package/core.rb +2 -2
- data/lib/write_xlsx/package/custom.rb +3 -2
- data/lib/write_xlsx/package/metadata.rb +2 -2
- data/lib/write_xlsx/package/packager.rb +0 -3
- data/lib/write_xlsx/package/relationships.rb +2 -2
- data/lib/write_xlsx/package/rich_value.rb +4 -2
- data/lib/write_xlsx/package/rich_value_rel.rb +2 -2
- data/lib/write_xlsx/package/rich_value_structure.rb +2 -2
- data/lib/write_xlsx/package/rich_value_types.rb +3 -3
- data/lib/write_xlsx/package/shared_strings.rb +2 -2
- data/lib/write_xlsx/package/styles.rb +13 -9
- data/lib/write_xlsx/package/table.rb +8 -2
- data/lib/write_xlsx/package/theme.rb +0 -3
- data/lib/write_xlsx/package/vml.rb +2 -2
- data/lib/write_xlsx/page_setup.rb +192 -0
- data/lib/write_xlsx/shape.rb +97 -100
- data/lib/write_xlsx/sheets.rb +9 -4
- data/lib/write_xlsx/sparkline.rb +2 -2
- data/lib/write_xlsx/utility/cell_reference.rb +124 -0
- data/lib/write_xlsx/utility/chart_formatting.rb +262 -0
- data/lib/write_xlsx/utility/common.rb +44 -0
- data/lib/write_xlsx/utility/date_time.rb +113 -0
- data/lib/write_xlsx/utility/dimensions.rb +40 -0
- data/lib/write_xlsx/utility/drawing.rb +136 -0
- data/lib/write_xlsx/utility/rich_text.rb +184 -0
- data/lib/write_xlsx/utility/sheetname_quoting.rb +73 -0
- data/lib/write_xlsx/utility/string_width.rb +45 -0
- data/lib/write_xlsx/utility/url.rb +27 -0
- data/lib/write_xlsx/utility/xml_primitives.rb +32 -0
- data/lib/write_xlsx/version.rb +1 -1
- data/lib/write_xlsx/workbook/chart_data.rb +188 -0
- data/lib/write_xlsx/workbook/format_preparation.rb +199 -0
- data/lib/write_xlsx/workbook/initialization.rb +223 -0
- data/lib/write_xlsx/workbook/package_preparation.rb +231 -0
- data/lib/write_xlsx/workbook/workbook_writer.rb +164 -0
- data/lib/write_xlsx/workbook.rb +143 -981
- data/lib/write_xlsx/worksheet/asset_manager.rb +60 -0
- data/lib/write_xlsx/worksheet/autofilter.rb +390 -0
- data/lib/write_xlsx/worksheet/cell_data.rb +13 -6
- data/lib/write_xlsx/worksheet/cell_data_manager.rb +47 -0
- data/lib/write_xlsx/worksheet/cell_data_store.rb +61 -0
- data/lib/write_xlsx/worksheet/columns.rb +204 -0
- data/lib/write_xlsx/worksheet/comments_support.rb +61 -0
- data/lib/write_xlsx/worksheet/conditional_formats.rb +30 -0
- data/lib/write_xlsx/worksheet/data_validation.rb +9 -1
- data/lib/write_xlsx/worksheet/data_writing.rb +1017 -0
- data/lib/write_xlsx/worksheet/drawing_methods.rb +308 -0
- data/lib/write_xlsx/worksheet/drawing_preparation.rb +290 -0
- data/lib/write_xlsx/worksheet/drawing_relations.rb +76 -0
- data/lib/write_xlsx/worksheet/drawing_xml_writer.rb +50 -0
- data/lib/write_xlsx/worksheet/formatting.rb +418 -0
- data/lib/write_xlsx/worksheet/hyperlink.rb +9 -1
- data/lib/write_xlsx/worksheet/initialization.rb +146 -0
- data/lib/write_xlsx/worksheet/panes.rb +64 -0
- data/lib/write_xlsx/worksheet/print_options.rb +72 -0
- data/lib/write_xlsx/worksheet/protection.rb +65 -0
- data/lib/write_xlsx/worksheet/rich_text_helpers.rb +78 -0
- data/lib/write_xlsx/worksheet/row_col_sizing.rb +69 -0
- data/lib/write_xlsx/worksheet/rows.rb +84 -0
- data/lib/write_xlsx/worksheet/selection.rb +41 -0
- data/lib/write_xlsx/worksheet/xml_writer.rb +1246 -0
- data/lib/write_xlsx/worksheet.rb +376 -4530
- metadata +66 -4
- data/lib/write_xlsx/utility.rb +0 -986
- data/lib/write_xlsx/worksheet/page_setup.rb +0 -192
|
@@ -11,24 +11,47 @@
|
|
|
11
11
|
# Convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
|
|
12
12
|
#
|
|
13
13
|
|
|
14
|
+
require 'forwardable'
|
|
14
15
|
require 'write_xlsx/worksheet'
|
|
15
16
|
|
|
16
17
|
module Writexlsx
|
|
17
18
|
class Chartsheet < Worksheet
|
|
18
|
-
|
|
19
|
+
extend Forwardable
|
|
19
20
|
|
|
20
21
|
attr_writer :chart
|
|
21
22
|
|
|
23
|
+
def_delegators :@chart,
|
|
24
|
+
:add_series,
|
|
25
|
+
:set_x_axis,
|
|
26
|
+
:set_y_axis,
|
|
27
|
+
:set_x2_axis,
|
|
28
|
+
:set_y2_axis,
|
|
29
|
+
:set_title,
|
|
30
|
+
:set_legend,
|
|
31
|
+
:set_plotarea,
|
|
32
|
+
:set_chartarea,
|
|
33
|
+
:set_style,
|
|
34
|
+
:show_blanks_as,
|
|
35
|
+
:show_hidden_data,
|
|
36
|
+
:set_size,
|
|
37
|
+
:set_table,
|
|
38
|
+
:set_up_down_bars,
|
|
39
|
+
:set_drop_lines,
|
|
40
|
+
:set_high_low_lines
|
|
41
|
+
|
|
22
42
|
def initialize(workbook, index, name)
|
|
23
43
|
super
|
|
24
|
-
@drawings
|
|
25
|
-
@is_chartsheet
|
|
26
|
-
@chart
|
|
27
|
-
@charts = [1]
|
|
44
|
+
@drawings = Drawings.new
|
|
45
|
+
@is_chartsheet = true
|
|
46
|
+
@chart = nil
|
|
28
47
|
@zoom_scale_normal = 0
|
|
29
48
|
@page_setup.orientation = false
|
|
30
49
|
end
|
|
31
50
|
|
|
51
|
+
def charts
|
|
52
|
+
[@chart].compact
|
|
53
|
+
end
|
|
54
|
+
|
|
32
55
|
#
|
|
33
56
|
# Assemble and write the XML file.
|
|
34
57
|
#
|
|
@@ -91,88 +114,17 @@ module Writexlsx
|
|
|
91
114
|
@chart.protection = 1
|
|
92
115
|
|
|
93
116
|
# Turn off worksheet defaults.
|
|
94
|
-
options[:sheet]
|
|
117
|
+
options[:sheet] = 0
|
|
95
118
|
options[:scenarios] = 1
|
|
96
119
|
|
|
97
120
|
super(password, options)
|
|
98
121
|
end
|
|
99
122
|
|
|
100
|
-
###############################################################################
|
|
101
123
|
#
|
|
102
|
-
#
|
|
124
|
+
# Set the option for displaying #N/A as an empty cell in a chart.
|
|
103
125
|
#
|
|
104
|
-
###############################################################################
|
|
105
|
-
|
|
106
|
-
def add_series(*args)
|
|
107
|
-
@chart.add_series(*args)
|
|
108
|
-
end
|
|
109
|
-
|
|
110
|
-
def set_x_axis(*args)
|
|
111
|
-
@chart.set_x_axis(*args)
|
|
112
|
-
end
|
|
113
|
-
|
|
114
|
-
def set_y_axis(*args)
|
|
115
|
-
@chart.set_y_axis(*args)
|
|
116
|
-
end
|
|
117
|
-
|
|
118
|
-
def set_x2_axis(*args)
|
|
119
|
-
@chart.set_x2_axis(*args)
|
|
120
|
-
end
|
|
121
|
-
|
|
122
|
-
def set_y2_axis(*args)
|
|
123
|
-
@chart.set_y2_axis(*args)
|
|
124
|
-
end
|
|
125
|
-
|
|
126
|
-
def set_title(*args)
|
|
127
|
-
@chart.set_title(*args)
|
|
128
|
-
end
|
|
129
|
-
|
|
130
|
-
def set_legend(*args)
|
|
131
|
-
@chart.set_legend(*args)
|
|
132
|
-
end
|
|
133
|
-
|
|
134
|
-
def set_plotarea(*args)
|
|
135
|
-
@chart.set_plotarea(*args)
|
|
136
|
-
end
|
|
137
|
-
|
|
138
|
-
def set_chartarea(*args)
|
|
139
|
-
@chart.set_chartarea(*args)
|
|
140
|
-
end
|
|
141
|
-
|
|
142
|
-
def set_style(*args)
|
|
143
|
-
@chart.set_style(*args)
|
|
144
|
-
end
|
|
145
|
-
|
|
146
|
-
def show_blanks_as(*args)
|
|
147
|
-
@chart.show_blanks_as(*args)
|
|
148
|
-
end
|
|
149
|
-
|
|
150
126
|
def show_na_as_empty_cell
|
|
151
|
-
@chart.show_na_as_empty_cell
|
|
152
|
-
end
|
|
153
|
-
|
|
154
|
-
def show_hidden_data(*args)
|
|
155
|
-
@chart.show_hidden_data(*args)
|
|
156
|
-
end
|
|
157
|
-
|
|
158
|
-
def set_size(*args)
|
|
159
|
-
@chart.set_size(*args)
|
|
160
|
-
end
|
|
161
|
-
|
|
162
|
-
def set_table(*args)
|
|
163
|
-
@chart.set_table(*args)
|
|
164
|
-
end
|
|
165
|
-
|
|
166
|
-
def set_up_down_bars(*args)
|
|
167
|
-
@chart.set_up_down_bars(*args)
|
|
168
|
-
end
|
|
169
|
-
|
|
170
|
-
def set_drop_lines(*args)
|
|
171
|
-
@chart.set_drop_lines(*args)
|
|
172
|
-
end
|
|
173
|
-
|
|
174
|
-
def set_high_low_lines(*args)
|
|
175
|
-
@chart.set_high_low_lines(*args)
|
|
127
|
+
@chart.show_na_as_empty_cell
|
|
176
128
|
end
|
|
177
129
|
|
|
178
130
|
#
|
|
@@ -181,7 +133,7 @@ module Writexlsx
|
|
|
181
133
|
def prepare_chart(_index, chart_id, drawing_id) # :nodoc:
|
|
182
134
|
@chart.id = chart_id - 1
|
|
183
135
|
|
|
184
|
-
drawings
|
|
136
|
+
drawings = Drawings.new
|
|
185
137
|
@drawings = drawings
|
|
186
138
|
@drawings.orientation = @page_setup.orientation
|
|
187
139
|
|
|
@@ -203,12 +155,12 @@ module Writexlsx
|
|
|
203
155
|
# Write the <chartsheet> element. This is the root element of Chartsheet.
|
|
204
156
|
#
|
|
205
157
|
def write_chartsheet(&block) # :nodoc:
|
|
206
|
-
schema
|
|
207
|
-
xmlns
|
|
158
|
+
schema = 'http://schemas.openxmlformats.org/'
|
|
159
|
+
xmlns = schema + 'spreadsheetml/2006/main'
|
|
208
160
|
xmlns_r = schema + 'officeDocument/2006/relationships'
|
|
209
161
|
|
|
210
162
|
attributes = [
|
|
211
|
-
['xmlns',
|
|
163
|
+
['xmlns', xmlns],
|
|
212
164
|
['xmlns:r', xmlns_r]
|
|
213
165
|
]
|
|
214
166
|
|
data/lib/write_xlsx/drawing.rb
CHANGED
|
@@ -2,11 +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/common'
|
|
6
|
+
require 'write_xlsx/utility/xml_primitives'
|
|
6
7
|
|
|
7
8
|
module Writexlsx
|
|
8
9
|
class Drawing
|
|
9
|
-
include Writexlsx::Utility
|
|
10
|
+
include Writexlsx::Utility::Common
|
|
11
|
+
include Writexlsx::Utility::XmlPrimitives
|
|
10
12
|
|
|
11
13
|
attr_accessor :type, :dimensions, :width, :height, :shape, :anchor, :rel_index, :url_rel_index, :name, :description
|
|
12
14
|
attr_reader :tip, :decorative
|
|
@@ -871,7 +873,7 @@ module Writexlsx
|
|
|
871
873
|
end
|
|
872
874
|
|
|
873
875
|
class Drawings
|
|
874
|
-
include Writexlsx::Utility
|
|
876
|
+
include Writexlsx::Utility::XmlPrimitives
|
|
875
877
|
|
|
876
878
|
attr_writer :embedded, :orientation
|
|
877
879
|
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Writexlsx
|
|
5
|
+
class Format
|
|
6
|
+
class AlignmentState
|
|
7
|
+
attr_accessor :horizontal, :vertical,
|
|
8
|
+
:wrap, :justlast, :rotation,
|
|
9
|
+
:indent, :shrink, :merge_range,
|
|
10
|
+
:reading_order, :just_distrib
|
|
11
|
+
|
|
12
|
+
def initialize
|
|
13
|
+
@horizontal = 0
|
|
14
|
+
@vertical = 0
|
|
15
|
+
@wrap = 0
|
|
16
|
+
@justlast = 0
|
|
17
|
+
@rotation = 0
|
|
18
|
+
@indent = 0
|
|
19
|
+
@shrink = 0
|
|
20
|
+
@merge_range = 0
|
|
21
|
+
@reading_order = 0
|
|
22
|
+
@just_distrib = 0
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def initialize_copy(other)
|
|
26
|
+
@horizontal = other.horizontal
|
|
27
|
+
@vertical = other.vertical
|
|
28
|
+
@wrap = other.wrap
|
|
29
|
+
@justlast = other.justlast
|
|
30
|
+
@rotation = other.rotation
|
|
31
|
+
@indent = other.indent
|
|
32
|
+
@shrink = other.shrink
|
|
33
|
+
@merge_range = other.merge_range
|
|
34
|
+
@reading_order = other.reading_order
|
|
35
|
+
@just_distrib = other.just_distrib
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Writexlsx
|
|
5
|
+
class Format
|
|
6
|
+
class AlignmentStyle
|
|
7
|
+
def initialize(format)
|
|
8
|
+
@format = format
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def horizontal
|
|
12
|
+
@format.state.alignment.horizontal
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def horizontal=(value)
|
|
16
|
+
@format.state.alignment.horizontal = value
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def wrap
|
|
20
|
+
@format.state.alignment.wrap
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def wrap=(value)
|
|
24
|
+
@format.state.alignment.wrap = value
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def vertical
|
|
28
|
+
@format.state.alignment.vertical
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def vertical=(value)
|
|
32
|
+
@format.state.alignment.vertical = value
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def justlast
|
|
36
|
+
@format.state.alignment.justlast
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def justlast=(value)
|
|
40
|
+
@format.state.alignment.justlast = value
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def rotation
|
|
44
|
+
@format.state.alignment.rotation
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def rotation=(value)
|
|
48
|
+
@format.state.alignment.rotation = value
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def indent
|
|
52
|
+
@format.state.alignment.indent
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def indent=(value)
|
|
56
|
+
@format.state.alignment.indent = value
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def shrink
|
|
60
|
+
@format.state.alignment.shrink
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def shrink=(value)
|
|
64
|
+
@format.state.alignment.shrink = value
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def merge_range
|
|
68
|
+
@format.state.alignment.merge_range
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def merge_range=(value)
|
|
72
|
+
@format.state.alignment.merge_range = value
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def reading_order
|
|
76
|
+
@format.state.alignment.reading_order
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def reading_order=(value)
|
|
80
|
+
@format.state.alignment.reading_order = value
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
def just_distrib
|
|
84
|
+
@format.state.alignment.just_distrib
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def just_distrib=(value)
|
|
88
|
+
@format.state.alignment.just_distrib = value
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Writexlsx
|
|
5
|
+
class Format
|
|
6
|
+
class BorderState
|
|
7
|
+
attr_accessor :index, :count,
|
|
8
|
+
:bottom, :bottom_color,
|
|
9
|
+
:diag_border, :diag_color, :diag_type,
|
|
10
|
+
:left, :left_color,
|
|
11
|
+
:right, :right_color,
|
|
12
|
+
:top, :top_color
|
|
13
|
+
|
|
14
|
+
def initialize
|
|
15
|
+
@index = 0
|
|
16
|
+
@count = 0
|
|
17
|
+
@bottom = 0
|
|
18
|
+
@bottom_color = 0x0
|
|
19
|
+
@diag_border = 0
|
|
20
|
+
@diag_color = 0x0
|
|
21
|
+
@diag_type = 0
|
|
22
|
+
@left = 0
|
|
23
|
+
@left_color = 0x0
|
|
24
|
+
@right = 0
|
|
25
|
+
@right_color = 0x0
|
|
26
|
+
@top = 0
|
|
27
|
+
@top_color = 0x0
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def initialize_copy(other)
|
|
31
|
+
@index = other.index
|
|
32
|
+
@count = other.count
|
|
33
|
+
@bottom = other.bottom
|
|
34
|
+
@bottom_color = other.bottom_color
|
|
35
|
+
@diag_border = other.diag_border
|
|
36
|
+
@diag_color = other.diag_color
|
|
37
|
+
@diag_type = other.diag_type
|
|
38
|
+
@left = other.left
|
|
39
|
+
@left_color = other.left_color
|
|
40
|
+
@right = other.right
|
|
41
|
+
@right_color = other.right_color
|
|
42
|
+
@top = other.top
|
|
43
|
+
@top_color = other.top_color
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Writexlsx
|
|
5
|
+
class Format
|
|
6
|
+
class BorderStyle
|
|
7
|
+
def initialize(format)
|
|
8
|
+
@format = format
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def index
|
|
12
|
+
@format.state.border.index
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def index=(value)
|
|
16
|
+
@format.state.border.index = value
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def count
|
|
20
|
+
@format.state.border.count
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def count=(value)
|
|
24
|
+
@format.state.border.count = value
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def left
|
|
28
|
+
@format.state.border.left
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def left=(value)
|
|
32
|
+
@format.state.border.left = value
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def left_color
|
|
36
|
+
@format.state.border.left_color
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def left_color=(value)
|
|
40
|
+
@format.state.border.left_color = value
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def right
|
|
44
|
+
@format.state.border.right
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def right=(value)
|
|
48
|
+
@format.state.border.right = value
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def right_color
|
|
52
|
+
@format.state.border.right_color
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def right_color=(value)
|
|
56
|
+
@format.state.border.right_color = value
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def top
|
|
60
|
+
@format.state.border.top
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def top=(value)
|
|
64
|
+
@format.state.border.top = value
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def top_color
|
|
68
|
+
@format.state.border.top_color
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def top_color=(value)
|
|
72
|
+
@format.state.border.top_color = value
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def bottom
|
|
76
|
+
@format.state.border.bottom
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def bottom=(value)
|
|
80
|
+
@format.state.border.bottom = value
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
def bottom_color
|
|
84
|
+
@format.state.border.bottom_color
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def bottom_color=(value)
|
|
88
|
+
@format.state.border.bottom_color = value
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def diag_border
|
|
92
|
+
@format.state.border.diag_border
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def diag_border=(value)
|
|
96
|
+
@format.state.border.diag_border = value
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
def diag_color
|
|
100
|
+
@format.state.border.diag_color
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
def diag_color=(value)
|
|
104
|
+
@format.state.border.diag_color = value
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
def diag_type
|
|
108
|
+
@format.state.border.diag_type
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
def diag_type=(value)
|
|
112
|
+
@format.state.border.diag_type = value
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Writexlsx
|
|
5
|
+
class Format
|
|
6
|
+
class FillState
|
|
7
|
+
attr_accessor :fg_color, :bg_color, :pattern, :index, :count
|
|
8
|
+
|
|
9
|
+
def initialize
|
|
10
|
+
@fg_color = 0x00
|
|
11
|
+
@bg_color = 0x00
|
|
12
|
+
@pattern = 0
|
|
13
|
+
@index = 0
|
|
14
|
+
@count = 0
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def initialize_copy(other)
|
|
18
|
+
@fg_color = other.fg_color
|
|
19
|
+
@bg_color = other.bg_color
|
|
20
|
+
@pattern = other.pattern
|
|
21
|
+
@index = other.index
|
|
22
|
+
@count = other.count
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Writexlsx
|
|
5
|
+
class Format
|
|
6
|
+
class FillStyle
|
|
7
|
+
def initialize(format)
|
|
8
|
+
@format = format
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def fg_color
|
|
12
|
+
@format.state.fill.fg_color
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def bg_color
|
|
16
|
+
@format.state.fill.bg_color
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def pattern
|
|
20
|
+
@format.state.fill.pattern
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def index
|
|
24
|
+
@format.state.fill.index
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def count
|
|
28
|
+
@format.state.fill.count
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def fg_color=(value)
|
|
32
|
+
@format.state.fill.fg_color = value
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def bg_color=(value)
|
|
36
|
+
@format.state.fill.bg_color = value
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def pattern=(value)
|
|
40
|
+
@format.state.fill.pattern = value
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def index=(value)
|
|
44
|
+
@format.state.fill.index = value
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def count=(value)
|
|
48
|
+
@format.state.fill.count = value
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Writexlsx
|
|
5
|
+
class Format
|
|
6
|
+
class FontState
|
|
7
|
+
attr_accessor(
|
|
8
|
+
:index,
|
|
9
|
+
:name,
|
|
10
|
+
:size,
|
|
11
|
+
:bold,
|
|
12
|
+
:italic,
|
|
13
|
+
:color,
|
|
14
|
+
:underline,
|
|
15
|
+
:strikeout,
|
|
16
|
+
:outline,
|
|
17
|
+
:shadow,
|
|
18
|
+
:script,
|
|
19
|
+
:family,
|
|
20
|
+
:charset,
|
|
21
|
+
:scheme,
|
|
22
|
+
:condense,
|
|
23
|
+
:extend,
|
|
24
|
+
:theme,
|
|
25
|
+
:hyperlink,
|
|
26
|
+
:color_indexed
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
def initialize
|
|
30
|
+
@index = 0
|
|
31
|
+
@name = 'Calibri'
|
|
32
|
+
@size = 11
|
|
33
|
+
@bold = 0
|
|
34
|
+
@italic = 0
|
|
35
|
+
@color = 0x0
|
|
36
|
+
@underline = 0
|
|
37
|
+
@strikeout = 0
|
|
38
|
+
@outline = 0
|
|
39
|
+
@shadow = 0
|
|
40
|
+
@script = 0
|
|
41
|
+
@family = 2
|
|
42
|
+
@charset = 0
|
|
43
|
+
@scheme = 'minor'
|
|
44
|
+
@condense = 0
|
|
45
|
+
@extend = 0
|
|
46
|
+
@theme = 0
|
|
47
|
+
@hyperlink = 0
|
|
48
|
+
@color_indexed = 0
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def initialize_copy(other)
|
|
52
|
+
@index = other.index
|
|
53
|
+
@name = other.name
|
|
54
|
+
@size = other.size
|
|
55
|
+
@bold = other.bold
|
|
56
|
+
@italic = other.italic
|
|
57
|
+
@color = other.color
|
|
58
|
+
@underline = other.underline
|
|
59
|
+
@strikeout = other.strikeout
|
|
60
|
+
@outline = other.outline
|
|
61
|
+
@shadow = other.shadow
|
|
62
|
+
@script = other.script
|
|
63
|
+
@family = other.family
|
|
64
|
+
@charset = other.charset
|
|
65
|
+
@scheme = other.scheme
|
|
66
|
+
@condense = other.condense
|
|
67
|
+
@extend = other.extend
|
|
68
|
+
@theme = other.theme
|
|
69
|
+
@hyperlink = other.hyperlink
|
|
70
|
+
@color_indexed = other.color_indexed
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|