xlsxrb 0.1.13 → 0.1.15
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/CHANGELOG.md +104 -0
- data/README.md +17 -14
- data/lib/xlsxrb/colors.rb +118 -0
- data/lib/xlsxrb/elements/cell.rb +205 -16
- data/lib/xlsxrb/elements/column.rb +6 -4
- data/lib/xlsxrb/elements/coordinate_access.rb +32 -0
- data/lib/xlsxrb/elements/image.rb +128 -0
- data/lib/xlsxrb/elements/row.rb +206 -9
- data/lib/xlsxrb/elements/styles.rb +157 -0
- data/lib/xlsxrb/elements/types.rb +95 -1
- data/lib/xlsxrb/elements/workbook.rb +121 -4
- data/lib/xlsxrb/elements/worksheet.rb +519 -29
- data/lib/xlsxrb/elements.rb +2 -0
- data/lib/xlsxrb/number_formatter.rb +429 -0
- data/lib/xlsxrb/ooxml/cfb.rb +1 -1
- data/lib/xlsxrb/ooxml/reader/listeners/core_listeners.rb +7 -5
- data/lib/xlsxrb/ooxml/reader/listeners/drawing_listeners.rb +11 -4
- data/lib/xlsxrb/ooxml/reader/listeners/feature_listeners.rb +7 -1
- data/lib/xlsxrb/ooxml/reader.rb +14 -17
- data/lib/xlsxrb/ooxml/shared_strings_parser.rb +7 -1
- data/lib/xlsxrb/ooxml/styles_parser.rb +39 -9
- data/lib/xlsxrb/ooxml/utils.rb +34 -18
- data/lib/xlsxrb/ooxml/workbook_parser.rb +74 -16
- data/lib/xlsxrb/ooxml/workbook_writer.rb +82 -23
- data/lib/xlsxrb/ooxml/worksheet_parser.rb +319 -79
- data/lib/xlsxrb/ooxml/worksheet_writer.rb +263 -66
- data/lib/xlsxrb/ooxml/writer/features_xml.rb +5 -3
- data/lib/xlsxrb/ooxml/writer.rb +14 -0
- data/lib/xlsxrb/ooxml/xml_builder.rb +14 -2
- data/lib/xlsxrb/ooxml/zip_reader.rb +144 -28
- data/lib/xlsxrb/stream_row.rb +243 -16
- data/lib/xlsxrb/stream_sheet.rb +647 -16
- data/lib/xlsxrb/stream_writer.rb +375 -34
- data/lib/xlsxrb/style_builder.rb +308 -22
- data/lib/xlsxrb/utils.rb +211 -0
- data/lib/xlsxrb/version.rb +1 -1
- data/lib/xlsxrb/workbook_builder.rb +72 -11
- data/lib/xlsxrb/worksheet_builder.rb +738 -24
- data/lib/xlsxrb.rb +1073 -83
- data/sig/generated/xlsxrb/colors.rbs +40 -0
- data/sig/generated/xlsxrb/elements/cell.rbs +113 -8
- data/sig/generated/xlsxrb/elements/column.rbs +3 -2
- data/sig/generated/xlsxrb/elements/coordinate_access.rbs +18 -0
- data/sig/generated/xlsxrb/elements/image.rbs +82 -0
- data/sig/generated/xlsxrb/elements/row.rbs +83 -4
- data/sig/generated/xlsxrb/elements/styles.rbs +79 -0
- data/sig/generated/xlsxrb/elements/types.rbs +43 -0
- data/sig/generated/xlsxrb/elements/workbook.rbs +79 -2
- data/sig/generated/xlsxrb/elements/worksheet.rbs +282 -18
- data/sig/generated/xlsxrb/number_formatter.rbs +132 -0
- data/sig/generated/xlsxrb/ooxml/reader.rbs +6 -0
- data/sig/generated/xlsxrb/ooxml/shared_strings_parser.rbs +2 -0
- data/sig/generated/xlsxrb/ooxml/styles_parser.rbs +5 -2
- data/sig/generated/xlsxrb/ooxml/utils.rbs +17 -8
- data/sig/generated/xlsxrb/ooxml/workbook_parser.rbs +9 -3
- data/sig/generated/xlsxrb/ooxml/workbook_writer.rbs +1 -1
- data/sig/generated/xlsxrb/ooxml/worksheet_parser.rbs +28 -6
- data/sig/generated/xlsxrb/ooxml/worksheet_writer.rbs +13 -3
- data/sig/generated/xlsxrb/ooxml/writer.rbs +2 -0
- data/sig/generated/xlsxrb/ooxml/xml_builder.rbs +3 -1
- data/sig/generated/xlsxrb/ooxml/zip_reader.rbs +13 -0
- data/sig/generated/xlsxrb/stream_row.rbs +100 -6
- data/sig/generated/xlsxrb/stream_sheet.rbs +358 -14
- data/sig/generated/xlsxrb/stream_writer.rbs +220 -30
- data/sig/generated/xlsxrb/style_builder.rbs +55 -18
- data/sig/generated/xlsxrb/utils.rbs +151 -0
- data/sig/generated/xlsxrb/workbook_builder.rbs +26 -0
- data/sig/generated/xlsxrb/worksheet_builder.rbs +356 -18
- data/sig/generated/xlsxrb.rbs +223 -27
- metadata +11 -1
|
@@ -29,6 +29,16 @@ module Xlsxrb
|
|
|
29
29
|
# : String
|
|
30
30
|
attr_reader name: untyped
|
|
31
31
|
|
|
32
|
+
# @return [Symbol] The sheet visibility state (:visible, :hidden, or :very_hidden).
|
|
33
|
+
# @api public
|
|
34
|
+
# : Symbol
|
|
35
|
+
attr_reader state: untyped
|
|
36
|
+
|
|
37
|
+
# @return [Hash, nil] The parsed styles definition hash.
|
|
38
|
+
# @api public
|
|
39
|
+
# : Hash[untyped, untyped]?
|
|
40
|
+
attr_reader styles: untyped
|
|
41
|
+
|
|
32
42
|
# Initializes a streaming worksheet context.
|
|
33
43
|
#
|
|
34
44
|
# @param name [String] The sheet name.
|
|
@@ -37,24 +47,126 @@ module Xlsxrb
|
|
|
37
47
|
# @param styles [Hash, nil] Optional parsed styles hash.
|
|
38
48
|
# @param zip_reader [Ooxml::ZipReader, nil] Optional ZipReader context.
|
|
39
49
|
# @param entry_name [String, nil] Archive entry name for this sheet.
|
|
40
|
-
#
|
|
41
|
-
|
|
50
|
+
# @param date1904 [Boolean] Whether the 1904 date system is active.
|
|
51
|
+
# @param dimension [String, nil] Sheet dimension reference string (e.g. "A1:Z50000").
|
|
52
|
+
# @param trim_empty_rows [Boolean] Whether to omit trailing empty rows during iteration.
|
|
53
|
+
# @param pad_empty_rows [Boolean] Whether to yield empty rows for skipped row numbers.
|
|
54
|
+
# @param pad_empty_cells [Boolean] Whether to pad missing cells within rows.
|
|
55
|
+
# @param images [Array<Elements::Image>, nil] Optional preloaded images array.
|
|
56
|
+
# : (String name, untyped sheet_source, Array[String] shared_strings, ?Hash[untyped, untyped]? styles, ?zip_reader: Ooxml::ZipReader?, ?entry_name: String?, ?state: Symbol, ?date1904: bool, ?dimension: String?, ?trim_empty_rows: bool, ?pad_empty_rows: bool, ?pad_empty_cells: bool, ?images: Array[Elements::Image]?) -> void
|
|
57
|
+
def initialize: (String name, untyped sheet_source, Array[String] shared_strings, ?Hash[untyped, untyped]? styles, ?zip_reader: Ooxml::ZipReader?, ?entry_name: String?, ?state: Symbol, ?date1904: bool, ?dimension: String?, ?trim_empty_rows: bool, ?pad_empty_rows: bool, ?pad_empty_cells: bool, ?images: Array[Elements::Image]?) -> void
|
|
58
|
+
|
|
59
|
+
# Returns whether trailing empty rows are omitted during iteration.
|
|
60
|
+
#
|
|
61
|
+
# @return [Boolean]
|
|
62
|
+
# @api public
|
|
63
|
+
# : () -> bool
|
|
64
|
+
def trim_empty_rows?: () -> bool
|
|
65
|
+
|
|
66
|
+
alias trim_empty_rows trim_empty_rows?
|
|
67
|
+
|
|
68
|
+
# Returns whether skipped rows are padded during iteration.
|
|
69
|
+
#
|
|
70
|
+
# @return [Boolean]
|
|
71
|
+
# @api public
|
|
72
|
+
# : () -> bool
|
|
73
|
+
def pad_empty_rows?: () -> bool
|
|
74
|
+
|
|
75
|
+
alias pad_empty_rows pad_empty_rows?
|
|
76
|
+
|
|
77
|
+
# Returns whether missing cells within rows are padded during iteration.
|
|
78
|
+
#
|
|
79
|
+
# @return [Boolean]
|
|
80
|
+
# @api public
|
|
81
|
+
# : () -> bool
|
|
82
|
+
def pad_empty_cells?: () -> bool
|
|
83
|
+
|
|
84
|
+
alias pad_empty_cells pad_empty_cells?
|
|
85
|
+
|
|
86
|
+
# Returns the dimension reference string (e.g. "A1:Z50000"), or nil if not present.
|
|
87
|
+
#
|
|
88
|
+
# @return [String, nil]
|
|
89
|
+
# @api public
|
|
90
|
+
# : () -> String?
|
|
91
|
+
def dimension: () -> String?
|
|
92
|
+
|
|
93
|
+
# Returns the 1-based index of the first row defined in the sheet dimension, or nil.
|
|
94
|
+
#
|
|
95
|
+
# @return [Integer, nil]
|
|
96
|
+
# @api public
|
|
97
|
+
# : () -> Integer?
|
|
98
|
+
def first_row: () -> Integer?
|
|
99
|
+
|
|
100
|
+
# Returns the 1-based index of the first column defined in the sheet dimension, or nil.
|
|
101
|
+
#
|
|
102
|
+
# @return [Integer, nil]
|
|
103
|
+
# @api public
|
|
104
|
+
# : () -> Integer?
|
|
105
|
+
def first_column: () -> Integer?
|
|
106
|
+
|
|
107
|
+
alias first_col first_column
|
|
108
|
+
|
|
109
|
+
# Returns the 1-based index of the last row defined in the sheet dimension, or nil.
|
|
110
|
+
#
|
|
111
|
+
# @return [Integer, nil]
|
|
112
|
+
# @api public
|
|
113
|
+
# : () -> Integer?
|
|
114
|
+
def last_row: () -> Integer?
|
|
115
|
+
|
|
116
|
+
# Returns the 1-based index of the last column defined in the sheet dimension, or nil.
|
|
117
|
+
#
|
|
118
|
+
# @return [Integer, nil]
|
|
119
|
+
# @api public
|
|
120
|
+
# : () -> Integer?
|
|
121
|
+
def last_column: () -> Integer?
|
|
122
|
+
|
|
123
|
+
alias last_col last_column
|
|
124
|
+
|
|
125
|
+
# Returns whether the sheet uses the 1904 date system.
|
|
126
|
+
#
|
|
127
|
+
# @return [Boolean]
|
|
128
|
+
# @api public
|
|
129
|
+
# : () -> bool
|
|
130
|
+
def date1904?: () -> bool
|
|
131
|
+
|
|
132
|
+
# Returns whether the sheet is hidden (:hidden or :very_hidden).
|
|
133
|
+
#
|
|
134
|
+
# @return [Boolean]
|
|
135
|
+
# @api public
|
|
136
|
+
# : () -> bool
|
|
137
|
+
def hidden?: () -> bool
|
|
138
|
+
|
|
139
|
+
# Returns whether the sheet is visible.
|
|
140
|
+
#
|
|
141
|
+
# @return [Boolean]
|
|
142
|
+
# @api public
|
|
143
|
+
# : () -> bool
|
|
144
|
+
def visible?: () -> bool
|
|
42
145
|
|
|
43
146
|
# Iterates over rows in this streaming worksheet with O(1) memory.
|
|
44
147
|
#
|
|
45
148
|
# @overload each_row(&block)
|
|
46
149
|
# @yield [row]
|
|
47
150
|
# @yieldparam row [StreamRow, Elements::Row] The current row.
|
|
151
|
+
# @overload each_row(trim_empty_rows: nil, pad_empty_rows: nil, pad_empty_cells: nil, &block)
|
|
152
|
+
# @param trim_empty_rows [Boolean, nil] Whether to omit trailing empty rows (defaults to sheet setting).
|
|
153
|
+
# @param pad_empty_rows [Boolean, nil] Whether to yield empty rows for skipped row numbers (defaults to sheet setting).
|
|
154
|
+
# @param pad_empty_cells [Boolean, nil] Whether to pad missing cells within rows (defaults to sheet setting).
|
|
155
|
+
# @yield [row]
|
|
156
|
+
# @yieldparam row [StreamRow, Elements::Row] The current row.
|
|
48
157
|
# @return [void]
|
|
49
158
|
#
|
|
50
|
-
# @overload each_row
|
|
159
|
+
# @overload each_row(trim_empty_rows: nil, pad_empty_rows: nil, pad_empty_cells: nil)
|
|
160
|
+
# @param trim_empty_rows [Boolean, nil] Whether to omit trailing empty rows (defaults to sheet setting).
|
|
161
|
+
# @param pad_empty_rows [Boolean, nil] Whether to yield empty rows for skipped row numbers (defaults to sheet setting).
|
|
162
|
+
# @param pad_empty_cells [Boolean, nil] Whether to pad missing cells within rows (defaults to sheet setting).
|
|
51
163
|
# @return [Enumerator<StreamRow | Elements::Row, void>]
|
|
52
164
|
#
|
|
53
165
|
# @api public
|
|
54
|
-
# : () { (StreamRow | Elements::Row) -> void } -> void
|
|
55
|
-
# : () -> Enumerator[StreamRow | Elements::Row, void]
|
|
56
|
-
def each_row: () { (StreamRow | Elements::Row) -> void } -> void
|
|
57
|
-
| () -> Enumerator[StreamRow | Elements::Row, void]
|
|
166
|
+
# : (?trim_empty_rows: bool?, ?pad_empty_rows: bool?, ?pad_empty_cells: bool?) { (StreamRow | Elements::Row) -> void } -> void
|
|
167
|
+
# : (?trim_empty_rows: bool?, ?pad_empty_rows: bool?, ?pad_empty_cells: bool?) -> Enumerator[StreamRow | Elements::Row, void]
|
|
168
|
+
def each_row: (?trim_empty_rows: bool?, ?pad_empty_rows: bool?, ?pad_empty_cells: bool?) { (StreamRow | Elements::Row) -> void } -> void
|
|
169
|
+
| (?trim_empty_rows: bool?, ?pad_empty_rows: bool?, ?pad_empty_cells: bool?) -> Enumerator[StreamRow | Elements::Row, void]
|
|
58
170
|
|
|
59
171
|
# Iterates over all cells across all rows continuously with O(1) memory.
|
|
60
172
|
#
|
|
@@ -72,21 +184,51 @@ module Xlsxrb
|
|
|
72
184
|
def each_cell: () { (Elements::Cell) -> void } -> void
|
|
73
185
|
| () -> Enumerator[Elements::Cell, void]
|
|
74
186
|
|
|
187
|
+
# Iterates over row values directly as Arrays without wrapping cells in Elements::Cell objects.
|
|
188
|
+
#
|
|
189
|
+
# @overload each_row_values(type_cast: false, trim_empty_rows: nil, pad_empty_rows: nil, pad_empty_cells: nil, &block)
|
|
190
|
+
# @param type_cast [Boolean] Whether to coerce date/time serial numbers into Date/Time instances.
|
|
191
|
+
# @param trim_empty_rows [Boolean, nil] Whether to omit trailing empty rows (defaults to sheet setting).
|
|
192
|
+
# @param pad_empty_rows [Boolean, nil] Whether to yield empty rows for skipped row numbers (defaults to sheet setting).
|
|
193
|
+
# @param pad_empty_cells [Boolean, nil] Whether to pad missing cells within rows (defaults to sheet setting).
|
|
194
|
+
# @yield [values]
|
|
195
|
+
# @yieldparam values [Array<Object>] Row values array.
|
|
196
|
+
# @return [void]
|
|
197
|
+
#
|
|
198
|
+
# @overload each_row_values(type_cast: false, trim_empty_rows: nil, pad_empty_rows: nil, pad_empty_cells: nil)
|
|
199
|
+
# @param type_cast [Boolean] Whether to coerce date/time serial numbers into Date/Time instances.
|
|
200
|
+
# @param trim_empty_rows [Boolean, nil] Whether to omit trailing empty rows (defaults to sheet setting).
|
|
201
|
+
# @param pad_empty_rows [Boolean, nil] Whether to yield empty rows for skipped row numbers (defaults to sheet setting).
|
|
202
|
+
# @param pad_empty_cells [Boolean, nil] Whether to pad missing cells within rows (defaults to sheet setting).
|
|
203
|
+
# @return [Enumerator<Array<Object>, void>]
|
|
204
|
+
#
|
|
205
|
+
# @api public
|
|
206
|
+
# : (?type_cast: bool, ?trim_empty_rows: bool?, ?pad_empty_rows: bool?, ?pad_empty_cells: bool?) { (Array[untyped]) -> void } -> void
|
|
207
|
+
# : (?type_cast: bool, ?trim_empty_rows: bool?, ?pad_empty_rows: bool?, ?pad_empty_cells: bool?) -> Enumerator[Array[untyped], void]
|
|
208
|
+
def each_row_values: (?type_cast: bool, ?trim_empty_rows: bool?, ?pad_empty_rows: bool?, ?pad_empty_cells: bool?) { (Array[untyped]) -> void } -> void
|
|
209
|
+
| (?type_cast: bool, ?trim_empty_rows: bool?, ?pad_empty_rows: bool?, ?pad_empty_cells: bool?) -> Enumerator[Array[untyped], void]
|
|
210
|
+
|
|
75
211
|
# Default Enumerable iteration delegates to {#each_row}.
|
|
76
212
|
#
|
|
77
|
-
# @overload each(&block)
|
|
213
|
+
# @overload each(trim_empty_rows: nil, pad_empty_rows: nil, pad_empty_cells: nil, &block)
|
|
214
|
+
# @param trim_empty_rows [Boolean, nil] Whether to omit trailing empty rows.
|
|
215
|
+
# @param pad_empty_rows [Boolean, nil] Whether to yield empty rows for skipped row numbers.
|
|
216
|
+
# @param pad_empty_cells [Boolean, nil] Whether to pad missing cells within rows.
|
|
78
217
|
# @yield [row]
|
|
79
218
|
# @yieldparam row [StreamRow, Elements::Row]
|
|
80
219
|
# @return [void]
|
|
81
220
|
#
|
|
82
|
-
# @overload each
|
|
221
|
+
# @overload each(trim_empty_rows: nil, pad_empty_rows: nil, pad_empty_cells: nil)
|
|
222
|
+
# @param trim_empty_rows [Boolean, nil] Whether to omit trailing empty rows.
|
|
223
|
+
# @param pad_empty_rows [Boolean, nil] Whether to yield empty rows for skipped row numbers.
|
|
224
|
+
# @param pad_empty_cells [Boolean, nil] Whether to pad missing cells within rows.
|
|
83
225
|
# @return [Enumerator<StreamRow | Elements::Row, void>]
|
|
84
226
|
#
|
|
85
227
|
# @api public
|
|
86
|
-
# : () { (StreamRow | Elements::Row) -> void } -> void
|
|
87
|
-
# : () -> Enumerator[StreamRow | Elements::Row, void]
|
|
88
|
-
def each: () { (StreamRow | Elements::Row) -> void } -> void
|
|
89
|
-
| () -> Enumerator[StreamRow | Elements::Row, void]
|
|
228
|
+
# : (?trim_empty_rows: bool?, ?pad_empty_rows: bool?, ?pad_empty_cells: bool?) { (StreamRow | Elements::Row) -> void } -> void
|
|
229
|
+
# : (?trim_empty_rows: bool?, ?pad_empty_rows: bool?, ?pad_empty_cells: bool?) -> Enumerator[StreamRow | Elements::Row, void]
|
|
230
|
+
def each: (?trim_empty_rows: bool?, ?pad_empty_rows: bool?, ?pad_empty_cells: bool?) { (StreamRow | Elements::Row) -> void } -> void
|
|
231
|
+
| (?trim_empty_rows: bool?, ?pad_empty_rows: bool?, ?pad_empty_cells: bool?) -> Enumerator[StreamRow | Elements::Row, void]
|
|
90
232
|
|
|
91
233
|
# Loads this sheet completely into an in-memory {Elements::Worksheet},
|
|
92
234
|
# enabling coordinate random access (`sheet["A1"]`), row lookups (`row_at`),
|
|
@@ -99,6 +241,90 @@ module Xlsxrb
|
|
|
99
241
|
|
|
100
242
|
alias to_worksheet load
|
|
101
243
|
|
|
244
|
+
# Returns hyperlinks configured for this worksheet as a Hash of cell references to hyperlink hashes.
|
|
245
|
+
#
|
|
246
|
+
# @return [Hash<String, Hash[Symbol, untyped]>]
|
|
247
|
+
# @api public
|
|
248
|
+
# : () -> Hash[String, Hash[Symbol, untyped]]
|
|
249
|
+
def hyperlinks: () -> Hash[String, Hash[Symbol, untyped]]
|
|
250
|
+
|
|
251
|
+
# Returns hyperlink metadata for a specific cell reference, or nil.
|
|
252
|
+
#
|
|
253
|
+
# @param ref_or_row [String, Symbol, Integer] Cell reference (e.g. "A1") or 0-based row index.
|
|
254
|
+
# @param col [Integer, nil] Optional 0-based column index.
|
|
255
|
+
# @return [Hash, nil]
|
|
256
|
+
# @api public
|
|
257
|
+
# : (String | Symbol | Integer ref_or_row, ?Integer? col) -> Hash[Symbol, untyped]?
|
|
258
|
+
def hyperlink: (String | Symbol | Integer ref_or_row, ?Integer? col) -> Hash[Symbol, untyped]?
|
|
259
|
+
|
|
260
|
+
# Returns comments configured for this worksheet as an Array of comment hashes.
|
|
261
|
+
#
|
|
262
|
+
# @return [Array<Hash[Symbol, untyped]>]
|
|
263
|
+
# @api public
|
|
264
|
+
# : () -> Array[Hash[Symbol, untyped]]
|
|
265
|
+
def comments: () -> Array[Hash[Symbol, untyped]]
|
|
266
|
+
|
|
267
|
+
# Returns comment metadata for a specific cell reference, or nil.
|
|
268
|
+
#
|
|
269
|
+
# @param ref_or_row [String, Symbol, Integer] Cell reference (e.g. "A1") or 0-based row index.
|
|
270
|
+
# @param col [Integer, nil] Optional 0-based column index.
|
|
271
|
+
# @return [Hash, nil]
|
|
272
|
+
# @api public
|
|
273
|
+
# : (String | Symbol | Integer ref_or_row, ?Integer? col) -> Hash[Symbol, untyped]?
|
|
274
|
+
def comment: (String | Symbol | Integer ref_or_row, ?Integer? col) -> Hash[Symbol, untyped]?
|
|
275
|
+
|
|
276
|
+
# Returns comments indexed by cell reference.
|
|
277
|
+
#
|
|
278
|
+
# @return [Hash<String, Hash[Symbol, untyped]>]
|
|
279
|
+
# @api public
|
|
280
|
+
# : () -> Hash[String, Hash[Symbol, untyped]]
|
|
281
|
+
def comments_by_ref: () -> Hash[String, Hash[Symbol, untyped]]
|
|
282
|
+
|
|
283
|
+
# Returns all embedded images in this worksheet.
|
|
284
|
+
#
|
|
285
|
+
# @return [Array<Elements::Image>]
|
|
286
|
+
# @api public
|
|
287
|
+
# : () -> Array[Elements::Image]
|
|
288
|
+
def images: () -> Array[Elements::Image]
|
|
289
|
+
|
|
290
|
+
# Returns all images anchored at a specific cell reference or 0-based coordinate.
|
|
291
|
+
#
|
|
292
|
+
# @param ref_or_row [String, Symbol, Integer] Cell reference (e.g. "A1") or 0-based row index.
|
|
293
|
+
# @param col [Integer, nil] Optional 0-based column index.
|
|
294
|
+
# @return [Array<Elements::Image>]
|
|
295
|
+
# @api public
|
|
296
|
+
# : (String | Symbol | Integer ref_or_row, ?Integer? col) -> Array[Elements::Image]
|
|
297
|
+
def images_at: (String | Symbol | Integer ref_or_row, ?Integer? col) -> Array[Elements::Image]
|
|
298
|
+
|
|
299
|
+
# Loads and returns images for this worksheet, optionally yielding self for block syntax.
|
|
300
|
+
#
|
|
301
|
+
# @yield [sheet]
|
|
302
|
+
# @yieldparam sheet [StreamSheet]
|
|
303
|
+
# @return [StreamSheet, void]
|
|
304
|
+
# @api public
|
|
305
|
+
# : () { (StreamSheet) -> void } -> void
|
|
306
|
+
# : () -> StreamSheet
|
|
307
|
+
def with_images: () { (StreamSheet) -> void } -> void
|
|
308
|
+
| () -> StreamSheet
|
|
309
|
+
|
|
310
|
+
# Access a cell by reference or 0-based coordinates.
|
|
311
|
+
#
|
|
312
|
+
# @param ref_or_row [String, Symbol, Integer] Cell reference (e.g. "A1") or 0-based row index.
|
|
313
|
+
# @param col [Integer, nil] Optional 0-based column index.
|
|
314
|
+
# @return [Elements::Cell, nil]
|
|
315
|
+
# @api public
|
|
316
|
+
# : (String | Symbol | Integer ref_or_row, ?Integer? col) -> Elements::Cell?
|
|
317
|
+
def cell: (String | Symbol | Integer ref_or_row, ?Integer? col) -> Elements::Cell?
|
|
318
|
+
|
|
319
|
+
# Returns the formatted string representation of a cell's value.
|
|
320
|
+
#
|
|
321
|
+
# @param ref_or_row [String, Symbol, Integer] Cell reference (e.g. "A1") or 0-based row index.
|
|
322
|
+
# @param col [Integer, nil] Optional 0-based column index.
|
|
323
|
+
# @return [String, nil]
|
|
324
|
+
# @api public
|
|
325
|
+
# : (String | Symbol | Integer ref_or_row, ?Integer? col) -> String?
|
|
326
|
+
def formatted_value: (String | Symbol | Integer ref_or_row, ?Integer? col) -> String?
|
|
327
|
+
|
|
102
328
|
# Returns merged cell ranges (e.g. ["A1:B2"]) for this worksheet.
|
|
103
329
|
#
|
|
104
330
|
# @return [Array<String>]
|
|
@@ -127,14 +353,132 @@ module Xlsxrb
|
|
|
127
353
|
# : () -> Array[Hash[Symbol, untyped]]
|
|
128
354
|
def conditional_formats: () -> Array[Hash[Symbol, untyped]]
|
|
129
355
|
|
|
356
|
+
# Returns tables defined in this worksheet.
|
|
357
|
+
#
|
|
358
|
+
# @return [Array<Hash[Symbol, untyped]>]
|
|
359
|
+
# @api public
|
|
360
|
+
# : () -> Array[Hash[Symbol, untyped]]
|
|
361
|
+
def tables: () -> Array[Hash[Symbol, untyped]]
|
|
362
|
+
|
|
363
|
+
# Returns shapes defined in this worksheet.
|
|
364
|
+
#
|
|
365
|
+
# @return [Array<Hash[Symbol, untyped]>]
|
|
366
|
+
# @api public
|
|
367
|
+
# : () -> Array[Hash[Symbol, untyped]]
|
|
368
|
+
def shapes: () -> Array[Hash[Symbol, untyped]]
|
|
369
|
+
|
|
370
|
+
# Returns freeze pane settings for this worksheet, or nil if none.
|
|
371
|
+
#
|
|
372
|
+
# @return [Hash[Symbol, untyped], nil]
|
|
373
|
+
# @api public
|
|
374
|
+
# : () -> Hash[Symbol, untyped]?
|
|
375
|
+
def freeze_pane: () -> Hash[Symbol, untyped]?
|
|
376
|
+
|
|
377
|
+
# Returns sheet view properties for this worksheet.
|
|
378
|
+
#
|
|
379
|
+
# @return [Hash[Symbol, untyped]]
|
|
380
|
+
# @api public
|
|
381
|
+
# : () -> Hash[Symbol, untyped]
|
|
382
|
+
def sheet_view: () -> Hash[Symbol, untyped]
|
|
383
|
+
|
|
384
|
+
# Returns sheet protection settings as a hash, or nil if unprotected.
|
|
385
|
+
#
|
|
386
|
+
# @return [Hash[Symbol, untyped], nil]
|
|
387
|
+
# @api public
|
|
388
|
+
# : () -> Hash[Symbol, untyped]?
|
|
389
|
+
def sheet_protection: () -> Hash[Symbol, untyped]?
|
|
390
|
+
|
|
391
|
+
# Returns sheet-level properties (tabColor, outlinePr) for this worksheet.
|
|
392
|
+
#
|
|
393
|
+
# @return [Hash[Symbol, untyped]]
|
|
394
|
+
# @api public
|
|
395
|
+
# : () -> Hash[Symbol, untyped]
|
|
396
|
+
def sheet_properties: () -> Hash[Symbol, untyped]
|
|
397
|
+
|
|
398
|
+
# Returns sheet format properties (defaultRowHeight, defaultColWidth, baseColWidth) for this worksheet.
|
|
399
|
+
#
|
|
400
|
+
# @return [Hash[Symbol, untyped]]
|
|
401
|
+
# @api public
|
|
402
|
+
# : () -> Hash[Symbol, untyped]
|
|
403
|
+
def sheet_format: () -> Hash[Symbol, untyped]
|
|
404
|
+
|
|
405
|
+
# Returns page setup configurations for this worksheet.
|
|
406
|
+
#
|
|
407
|
+
# @return [Hash[Symbol, untyped]]
|
|
408
|
+
# @api public
|
|
409
|
+
# : () -> Hash[Symbol, untyped]
|
|
410
|
+
def page_setup: () -> Hash[Symbol, untyped]
|
|
411
|
+
|
|
412
|
+
# Returns page margins for this worksheet, or nil if none.
|
|
413
|
+
#
|
|
414
|
+
# @return [Hash[Symbol, untyped], nil]
|
|
415
|
+
# @api public
|
|
416
|
+
# : () -> Hash[Symbol, untyped]?
|
|
417
|
+
def page_margins: () -> Hash[Symbol, untyped]?
|
|
418
|
+
|
|
419
|
+
# Returns header/footer configurations for this worksheet.
|
|
420
|
+
#
|
|
421
|
+
# @return [Hash[Symbol, untyped]]
|
|
422
|
+
# @api public
|
|
423
|
+
# : () -> Hash[Symbol, untyped]
|
|
424
|
+
def header_footer: () -> Hash[Symbol, untyped]
|
|
425
|
+
|
|
426
|
+
# Returns print options for this worksheet.
|
|
427
|
+
#
|
|
428
|
+
# @return [Hash[Symbol, untyped]]
|
|
429
|
+
# @api public
|
|
430
|
+
# : () -> Hash[Symbol, untyped]
|
|
431
|
+
def print_options: () -> Hash[Symbol, untyped]
|
|
432
|
+
|
|
433
|
+
# Returns explicit row page breaks for this worksheet.
|
|
434
|
+
#
|
|
435
|
+
# @return [Array<untyped>]
|
|
436
|
+
# @api public
|
|
437
|
+
# : () -> Array[untyped]
|
|
438
|
+
def row_breaks: () -> Array[untyped]
|
|
439
|
+
|
|
440
|
+
# Returns explicit column page breaks for this worksheet.
|
|
441
|
+
#
|
|
442
|
+
# @return [Array<untyped>]
|
|
443
|
+
# @api public
|
|
444
|
+
# : () -> Array[untyped]
|
|
445
|
+
def col_breaks: () -> Array[untyped]
|
|
446
|
+
|
|
447
|
+
# Returns protected ranges defined for this worksheet.
|
|
448
|
+
#
|
|
449
|
+
# @return [Array<Hash[Symbol, untyped]>]
|
|
450
|
+
# @api public
|
|
451
|
+
# : () -> Array[Hash[Symbol, untyped]]
|
|
452
|
+
def protected_ranges: () -> Array[Hash[Symbol, untyped]]
|
|
453
|
+
|
|
454
|
+
# Returns cell watch cell references defined for this worksheet.
|
|
455
|
+
#
|
|
456
|
+
# @return [Array<String>]
|
|
457
|
+
# @api public
|
|
458
|
+
# : () -> Array[String]
|
|
459
|
+
def cell_watches: () -> Array[String]
|
|
460
|
+
|
|
130
461
|
# Closes any underlying reader resources.
|
|
131
462
|
# : () -> void
|
|
132
463
|
def close: () -> void
|
|
133
464
|
|
|
134
465
|
private
|
|
135
466
|
|
|
136
|
-
#
|
|
467
|
+
# : () -> Hash[Symbol, untyped]
|
|
468
|
+
def sheet_view_data: () -> Hash[Symbol, untyped]
|
|
469
|
+
|
|
470
|
+
# : () -> Hash[Symbol, untyped]
|
|
471
|
+
def print_page_data: () -> Hash[Symbol, untyped]
|
|
472
|
+
|
|
137
473
|
# : () -> String
|
|
138
474
|
def raw_sheet_xml: () -> String
|
|
475
|
+
|
|
476
|
+
# Returns 1-based bounds [first_row, first_col, last_row, last_col] from dimension ref.
|
|
477
|
+
# : () -> Array[Integer]?
|
|
478
|
+
def dimension_bounds: () -> Array[Integer]?
|
|
479
|
+
|
|
480
|
+
# Extracts dimension reference from XML source lazily without parsing the entire file.
|
|
481
|
+
# : () -> String?
|
|
482
|
+
def extract_dimension: () -> String?
|
|
139
483
|
end
|
|
140
484
|
end
|