fast_excel 0.1.7 → 0.2.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/Gemfile +10 -4
- data/Gemfile.lock +39 -16
- data/Makefile +1 -1
- data/README.md +60 -12
- data/Rakefile +10 -29
- data/benchmarks/1k_rows.rb +59 -0
- data/benchmarks/20k_rows.rb +26 -0
- data/benchmarks/init.rb +59 -0
- data/benchmarks/memory.rb +49 -0
- data/{example.rb → examples/example.rb} +0 -0
- data/{example_chart.rb → examples/example_chart.rb} +0 -0
- data/{example_image.rb → examples/example_image.rb} +0 -9
- data/fast_excel.gemspec +1 -1
- data/lib/fast_excel.rb +63 -7
- data/lib/fast_excel/binding.rb +663 -7321
- data/lib/fast_excel/binding/chart.rb +2666 -0
- data/lib/fast_excel/binding/format.rb +1177 -0
- data/lib/fast_excel/binding/workbook.rb +338 -0
- data/lib/fast_excel/binding/worksheet.rb +1515 -0
- data/test/default_format_test.rb +19 -0
- data/test/test_helper.rb +3 -3
- data/test/tmpfile_test.rb +23 -0
- metadata +15 -9
- data/.dockerignore +0 -1
- data/BUILD.md +0 -26
- data/build_alpine_linux.docker +0 -16
- data/build_centos_linux.docker +0 -13
@@ -0,0 +1,338 @@
|
|
1
|
+
module Libxlsxwriter
|
2
|
+
# = Fields:
|
3
|
+
# :constant_memory ::
|
4
|
+
# (Integer) Optimize the workbook to use constant memory for worksheets
|
5
|
+
# :tmpdir ::
|
6
|
+
# (String) Directory to use for the temporary files created by libxlsxwriter.
|
7
|
+
class WorkbookOptions < FFI::Struct
|
8
|
+
layout :constant_memory, :uchar,
|
9
|
+
:tmpdir, :string
|
10
|
+
end
|
11
|
+
|
12
|
+
# = Fields:
|
13
|
+
# :file ::
|
14
|
+
# (FFI::Pointer(*FILE))
|
15
|
+
# :worksheets ::
|
16
|
+
# (Worksheets)
|
17
|
+
# :worksheet_names ::
|
18
|
+
# (WorksheetNames)
|
19
|
+
# :charts ::
|
20
|
+
# (Charts)
|
21
|
+
# :ordered_charts ::
|
22
|
+
# (Charts)
|
23
|
+
# :formats ::
|
24
|
+
# (Formats)
|
25
|
+
# :defined_names ::
|
26
|
+
# (DefinedNames)
|
27
|
+
# :sst ::
|
28
|
+
# (Sst)
|
29
|
+
# :properties ::
|
30
|
+
# (DocProperties)
|
31
|
+
# :custom_properties ::
|
32
|
+
# (CustomProperties)
|
33
|
+
# :filename ::
|
34
|
+
# (String)
|
35
|
+
# :options ::
|
36
|
+
# (WorkbookOptions)
|
37
|
+
# :num_sheets ::
|
38
|
+
# (Integer)
|
39
|
+
# :first_sheet ::
|
40
|
+
# (Integer)
|
41
|
+
# :active_sheet ::
|
42
|
+
# (Integer)
|
43
|
+
# :num_xf_formats ::
|
44
|
+
# (Integer)
|
45
|
+
# :num_format_count ::
|
46
|
+
# (Integer)
|
47
|
+
# :drawing_count ::
|
48
|
+
# (Integer)
|
49
|
+
# :font_count ::
|
50
|
+
# (Integer)
|
51
|
+
# :border_count ::
|
52
|
+
# (Integer)
|
53
|
+
# :fill_count ::
|
54
|
+
# (Integer)
|
55
|
+
# :optimize ::
|
56
|
+
# (Integer)
|
57
|
+
# :has_png ::
|
58
|
+
# (Integer)
|
59
|
+
# :has_jpeg ::
|
60
|
+
# (Integer)
|
61
|
+
# :has_bmp ::
|
62
|
+
# (Integer)
|
63
|
+
# :used_xf_formats ::
|
64
|
+
# (HashTable)
|
65
|
+
module WorkbookWrappers
|
66
|
+
# @param [String] sheetname
|
67
|
+
# @return [Worksheet]
|
68
|
+
def add_worksheet(sheetname)
|
69
|
+
Worksheet.new Libxlsxwriter.workbook_add_worksheet(self, sheetname)
|
70
|
+
end
|
71
|
+
|
72
|
+
# @return [Format]
|
73
|
+
def add_format()
|
74
|
+
Format.new Libxlsxwriter.workbook_add_format(self)
|
75
|
+
end
|
76
|
+
|
77
|
+
def default_format()
|
78
|
+
Format.new Libxlsxwriter.workbook_default_format(self)
|
79
|
+
end
|
80
|
+
|
81
|
+
# @param [Integer] chart_type
|
82
|
+
# @return [Chart]
|
83
|
+
def add_chart(chart_type)
|
84
|
+
Chart.new Libxlsxwriter.workbook_add_chart(self, chart_type)
|
85
|
+
end
|
86
|
+
|
87
|
+
# @return [Symbol from _enum_error_]
|
88
|
+
def close()
|
89
|
+
Libxlsxwriter.workbook_close(self)
|
90
|
+
end
|
91
|
+
|
92
|
+
# @param [DocProperties] properties
|
93
|
+
# @return [Symbol from _enum_error_]
|
94
|
+
def set_properties(properties)
|
95
|
+
Libxlsxwriter.workbook_set_properties(self, properties)
|
96
|
+
end
|
97
|
+
|
98
|
+
# @param [String] name
|
99
|
+
# @param [String] value
|
100
|
+
# @return [Symbol from _enum_error_]
|
101
|
+
def set_custom_property_string(name, value)
|
102
|
+
Libxlsxwriter.workbook_set_custom_property_string(self, name, value)
|
103
|
+
end
|
104
|
+
|
105
|
+
# @param [String] name
|
106
|
+
# @param [Float] value
|
107
|
+
# @return [Symbol from _enum_error_]
|
108
|
+
def set_custom_property_number(name, value)
|
109
|
+
Libxlsxwriter.workbook_set_custom_property_number(self, name, value)
|
110
|
+
end
|
111
|
+
|
112
|
+
# @param [String] name
|
113
|
+
# @param [Integer] value
|
114
|
+
# @return [Symbol from _enum_error_]
|
115
|
+
def set_custom_property_integer(name, value)
|
116
|
+
Libxlsxwriter.workbook_set_custom_property_integer(self, name, value)
|
117
|
+
end
|
118
|
+
|
119
|
+
# @param [String] name
|
120
|
+
# @param [Integer] value
|
121
|
+
# @return [Symbol from _enum_error_]
|
122
|
+
def set_custom_property_boolean(name, value)
|
123
|
+
Libxlsxwriter.workbook_set_custom_property_boolean(self, name, value)
|
124
|
+
end
|
125
|
+
|
126
|
+
# @param [String] name
|
127
|
+
# @param [Datetime] datetime
|
128
|
+
# @return [Symbol from _enum_error_]
|
129
|
+
def set_custom_property_datetime(name, datetime)
|
130
|
+
Libxlsxwriter.workbook_set_custom_property_datetime(self, name, datetime)
|
131
|
+
end
|
132
|
+
|
133
|
+
# @param [String] name
|
134
|
+
# @param [String] formula
|
135
|
+
# @return [Symbol from _enum_error_]
|
136
|
+
def define_name(name, formula)
|
137
|
+
Libxlsxwriter.workbook_define_name(self, name, formula)
|
138
|
+
end
|
139
|
+
|
140
|
+
# @param [String] name
|
141
|
+
# @return [Worksheet]
|
142
|
+
def get_worksheet_by_name(name)
|
143
|
+
Worksheet.new Libxlsxwriter.workbook_get_worksheet_by_name(self, name)
|
144
|
+
end
|
145
|
+
|
146
|
+
# @param [String] sheetname
|
147
|
+
# @return [Symbol from _enum_error_]
|
148
|
+
def validate_worksheet_name(sheetname)
|
149
|
+
Libxlsxwriter.workbook_validate_worksheet_name(self, sheetname)
|
150
|
+
end
|
151
|
+
|
152
|
+
# @return [nil]
|
153
|
+
def free()
|
154
|
+
Libxlsxwriter.workbook_free(self)
|
155
|
+
end
|
156
|
+
|
157
|
+
# @return [nil]
|
158
|
+
def assemble_xml_file()
|
159
|
+
Libxlsxwriter.workbook_assemble_xml_file(self)
|
160
|
+
end
|
161
|
+
|
162
|
+
# @return [nil]
|
163
|
+
def set_default_xf_indices()
|
164
|
+
Libxlsxwriter.workbook_set_default_xf_indices(self)
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
168
|
+
class Workbook < FFI::Struct
|
169
|
+
include WorkbookWrappers
|
170
|
+
layout :file, :pointer,
|
171
|
+
:worksheets, Worksheets.ptr,
|
172
|
+
:worksheet_names, WorksheetNames.ptr,
|
173
|
+
:charts, Charts.ptr,
|
174
|
+
:ordered_charts, Charts.ptr,
|
175
|
+
:formats, Formats.ptr,
|
176
|
+
:defined_names, DefinedNames.ptr,
|
177
|
+
:sst, Sst.ptr,
|
178
|
+
:properties, DocProperties.ptr,
|
179
|
+
:custom_properties, CustomProperties.ptr,
|
180
|
+
:filename, :pointer,
|
181
|
+
:options, WorkbookOptions.by_value,
|
182
|
+
:num_sheets, :uint16,
|
183
|
+
:first_sheet, :uint16,
|
184
|
+
:active_sheet, :uint16,
|
185
|
+
:num_xf_formats, :uint16,
|
186
|
+
:num_format_count, :uint16,
|
187
|
+
:drawing_count, :uint16,
|
188
|
+
:font_count, :uint16,
|
189
|
+
:border_count, :uint16,
|
190
|
+
:fill_count, :uint16,
|
191
|
+
:optimize, :uchar,
|
192
|
+
:has_png, :uchar,
|
193
|
+
:has_jpeg, :uchar,
|
194
|
+
:has_bmp, :uchar,
|
195
|
+
:used_xf_formats, HashTable.ptr
|
196
|
+
end
|
197
|
+
|
198
|
+
attach_function :workbook_default_format, :workbook_default_format, [Workbook], Format
|
199
|
+
|
200
|
+
# @method workbook_new(filename)
|
201
|
+
# @param [String] filename
|
202
|
+
# @return [Workbook]
|
203
|
+
# @scope class
|
204
|
+
attach_function :workbook_new, :workbook_new, [:string], Workbook
|
205
|
+
|
206
|
+
# @method workbook_new_opt(filename, options)
|
207
|
+
# @param [String] filename
|
208
|
+
# @param [WorkbookOptions] options
|
209
|
+
# @return [Workbook]
|
210
|
+
# @scope class
|
211
|
+
attach_function :workbook_new_opt, :workbook_new_opt, [:string, WorkbookOptions], Workbook
|
212
|
+
|
213
|
+
# @method new_workbook(filename)
|
214
|
+
# @param [String] filename
|
215
|
+
# @return [Workbook]
|
216
|
+
# @scope class
|
217
|
+
attach_function :new_workbook, :new_workbook, [:string], Workbook
|
218
|
+
|
219
|
+
# @method new_workbook_opt(filename, options)
|
220
|
+
# @param [String] filename
|
221
|
+
# @param [WorkbookOptions] options
|
222
|
+
# @return [Workbook]
|
223
|
+
# @scope class
|
224
|
+
attach_function :new_workbook_opt, :new_workbook_opt, [:string, WorkbookOptions], Workbook
|
225
|
+
|
226
|
+
# @method workbook_add_worksheet(workbook, sheetname)
|
227
|
+
# @param [Workbook] workbook
|
228
|
+
# @param [String] sheetname
|
229
|
+
# @return [Worksheet]
|
230
|
+
# @scope class
|
231
|
+
attach_function :workbook_add_worksheet, :workbook_add_worksheet, [Workbook, :string], Worksheet
|
232
|
+
|
233
|
+
# @method workbook_add_format(workbook)
|
234
|
+
# @param [Workbook] workbook
|
235
|
+
# @return [Format]
|
236
|
+
# @scope class
|
237
|
+
attach_function :workbook_add_format, :workbook_add_format, [Workbook], Format
|
238
|
+
|
239
|
+
# @method workbook_add_chart(workbook, chart_type)
|
240
|
+
# @param [Workbook] workbook
|
241
|
+
# @param [Integer] chart_type
|
242
|
+
# @return [Chart]
|
243
|
+
# @scope class
|
244
|
+
attach_function :workbook_add_chart, :workbook_add_chart, [Workbook, :uchar], Chart
|
245
|
+
|
246
|
+
# @method workbook_close(workbook)
|
247
|
+
# @param [Workbook] workbook
|
248
|
+
# @return [Symbol from _enum_error_]
|
249
|
+
# @scope class
|
250
|
+
attach_function :workbook_close, :workbook_close, [Workbook], :error
|
251
|
+
|
252
|
+
# @method workbook_set_properties(workbook, properties)
|
253
|
+
# @param [Workbook] workbook
|
254
|
+
# @param [DocProperties] properties
|
255
|
+
# @return [Symbol from _enum_error_]
|
256
|
+
# @scope class
|
257
|
+
attach_function :workbook_set_properties, :workbook_set_properties, [Workbook, DocProperties], :error
|
258
|
+
|
259
|
+
# @method workbook_set_custom_property_string(workbook, name, value)
|
260
|
+
# @param [Workbook] workbook
|
261
|
+
# @param [String] name
|
262
|
+
# @param [String] value
|
263
|
+
# @return [Symbol from _enum_error_]
|
264
|
+
# @scope class
|
265
|
+
attach_function :workbook_set_custom_property_string, :workbook_set_custom_property_string, [Workbook, :string, :string], :error
|
266
|
+
|
267
|
+
# @method workbook_set_custom_property_number(workbook, name, value)
|
268
|
+
# @param [Workbook] workbook
|
269
|
+
# @param [String] name
|
270
|
+
# @param [Float] value
|
271
|
+
# @return [Symbol from _enum_error_]
|
272
|
+
# @scope class
|
273
|
+
attach_function :workbook_set_custom_property_number, :workbook_set_custom_property_number, [Workbook, :string, :double], :error
|
274
|
+
|
275
|
+
# @method workbook_set_custom_property_integer(workbook, name, value)
|
276
|
+
# @param [Workbook] workbook
|
277
|
+
# @param [String] name
|
278
|
+
# @param [Integer] value
|
279
|
+
# @return [Symbol from _enum_error_]
|
280
|
+
# @scope class
|
281
|
+
attach_function :workbook_set_custom_property_integer, :workbook_set_custom_property_integer, [Workbook, :string, :int], :error
|
282
|
+
|
283
|
+
# @method workbook_set_custom_property_boolean(workbook, name, value)
|
284
|
+
# @param [Workbook] workbook
|
285
|
+
# @param [String] name
|
286
|
+
# @param [Integer] value
|
287
|
+
# @return [Symbol from _enum_error_]
|
288
|
+
# @scope class
|
289
|
+
attach_function :workbook_set_custom_property_boolean, :workbook_set_custom_property_boolean, [Workbook, :string, :uchar], :error
|
290
|
+
|
291
|
+
# @method workbook_set_custom_property_datetime(workbook, name, datetime)
|
292
|
+
# @param [Workbook] workbook
|
293
|
+
# @param [String] name
|
294
|
+
# @param [Datetime] datetime
|
295
|
+
# @return [Symbol from _enum_error_]
|
296
|
+
# @scope class
|
297
|
+
attach_function :workbook_set_custom_property_datetime, :workbook_set_custom_property_datetime, [Workbook, :string, Datetime], :error
|
298
|
+
|
299
|
+
# @method workbook_define_name(workbook, name, formula)
|
300
|
+
# @param [Workbook] workbook
|
301
|
+
# @param [String] name
|
302
|
+
# @param [String] formula
|
303
|
+
# @return [Symbol from _enum_error_]
|
304
|
+
# @scope class
|
305
|
+
attach_function :workbook_define_name, :workbook_define_name, [Workbook, :string, :string], :error
|
306
|
+
|
307
|
+
# @method workbook_get_worksheet_by_name(workbook, name)
|
308
|
+
# @param [Workbook] workbook
|
309
|
+
# @param [String] name
|
310
|
+
# @return [Worksheet]
|
311
|
+
# @scope class
|
312
|
+
attach_function :workbook_get_worksheet_by_name, :workbook_get_worksheet_by_name, [Workbook, :string], Worksheet
|
313
|
+
|
314
|
+
# @method workbook_validate_worksheet_name(workbook, sheetname)
|
315
|
+
# @param [Workbook] workbook
|
316
|
+
# @param [String] sheetname
|
317
|
+
# @return [Symbol from _enum_error_]
|
318
|
+
# @scope class
|
319
|
+
attach_function :workbook_validate_worksheet_name, :workbook_validate_worksheet_name, [Workbook, :string], :error
|
320
|
+
|
321
|
+
# @method workbook_free(workbook)
|
322
|
+
# @param [Workbook] workbook
|
323
|
+
# @return [nil]
|
324
|
+
# @scope class
|
325
|
+
attach_function :workbook_free, :lxw_workbook_free, [Workbook], :void
|
326
|
+
|
327
|
+
# @method workbook_assemble_xml_file(workbook)
|
328
|
+
# @param [Workbook] workbook
|
329
|
+
# @return [nil]
|
330
|
+
# @scope class
|
331
|
+
attach_function :workbook_assemble_xml_file, :lxw_workbook_assemble_xml_file, [Workbook], :void
|
332
|
+
|
333
|
+
# @method workbook_set_default_xf_indices(workbook)
|
334
|
+
# @param [Workbook] workbook
|
335
|
+
# @return [nil]
|
336
|
+
# @scope class
|
337
|
+
attach_function :workbook_set_default_xf_indices, :lxw_workbook_set_default_xf_indices, [Workbook], :void
|
338
|
+
end
|
@@ -0,0 +1,1515 @@
|
|
1
|
+
module Libxlsxwriter
|
2
|
+
# = Fields:
|
3
|
+
# :stqe_next ::
|
4
|
+
# (FFI::Pointer(*Worksheet))
|
5
|
+
class WorksheetListPointers < FFI::Struct
|
6
|
+
layout :stqe_next, :pointer
|
7
|
+
end
|
8
|
+
|
9
|
+
# = Fields:
|
10
|
+
# :file ::
|
11
|
+
# (FFI::Pointer(*FILE))
|
12
|
+
# :optimize_tmpfile ::
|
13
|
+
# (FFI::Pointer(*FILE))
|
14
|
+
# :table ::
|
15
|
+
# (TableRows)
|
16
|
+
# :hyperlinks ::
|
17
|
+
# (TableRows)
|
18
|
+
# :array ::
|
19
|
+
# (FFI::Pointer(**Cell))
|
20
|
+
# :merged_ranges ::
|
21
|
+
# (MergedRanges)
|
22
|
+
# :selections ::
|
23
|
+
# (Selections)
|
24
|
+
# :image_data ::
|
25
|
+
# (ImageData)
|
26
|
+
# :chart_data ::
|
27
|
+
# (ChartData)
|
28
|
+
# :dim_rowmin ::
|
29
|
+
# (Integer)
|
30
|
+
# :dim_rowmax ::
|
31
|
+
# (Integer)
|
32
|
+
# :dim_colmin ::
|
33
|
+
# (Integer)
|
34
|
+
# :dim_colmax ::
|
35
|
+
# (Integer)
|
36
|
+
# :sst ::
|
37
|
+
# (Sst)
|
38
|
+
# :name ::
|
39
|
+
# (String)
|
40
|
+
# :quoted_name ::
|
41
|
+
# (String)
|
42
|
+
# :tmpdir ::
|
43
|
+
# (String)
|
44
|
+
# :index ::
|
45
|
+
# (Integer)
|
46
|
+
# :active ::
|
47
|
+
# (Integer)
|
48
|
+
# :selected ::
|
49
|
+
# (Integer)
|
50
|
+
# :hidden ::
|
51
|
+
# (Integer)
|
52
|
+
# :active_sheet ::
|
53
|
+
# (FFI::Pointer(*Uint16T))
|
54
|
+
# :first_sheet ::
|
55
|
+
# (FFI::Pointer(*Uint16T))
|
56
|
+
# :col_options ::
|
57
|
+
# (FFI::Pointer(**ColOptions))
|
58
|
+
# :col_options_max ::
|
59
|
+
# (Integer)
|
60
|
+
# :col_sizes ::
|
61
|
+
# (FFI::Pointer(*Double))
|
62
|
+
# :col_sizes_max ::
|
63
|
+
# (Integer)
|
64
|
+
# :col_formats ::
|
65
|
+
# (FFI::Pointer(**Format))
|
66
|
+
# :col_formats_max ::
|
67
|
+
# (Integer)
|
68
|
+
# :col_size_changed ::
|
69
|
+
# (Integer)
|
70
|
+
# :row_size_changed ::
|
71
|
+
# (Integer)
|
72
|
+
# :optimize ::
|
73
|
+
# (Integer)
|
74
|
+
# :optimize_row ::
|
75
|
+
# (FFI::Pointer(*Row))
|
76
|
+
# :fit_height ::
|
77
|
+
# (Integer)
|
78
|
+
# :fit_width ::
|
79
|
+
# (Integer)
|
80
|
+
# :horizontal_dpi ::
|
81
|
+
# (Integer)
|
82
|
+
# :hlink_count ::
|
83
|
+
# (Integer)
|
84
|
+
# :page_start ::
|
85
|
+
# (Integer)
|
86
|
+
# :print_scale ::
|
87
|
+
# (Integer)
|
88
|
+
# :rel_count ::
|
89
|
+
# (Integer)
|
90
|
+
# :vertical_dpi ::
|
91
|
+
# (Integer)
|
92
|
+
# :zoom ::
|
93
|
+
# (Integer)
|
94
|
+
# :filter_on ::
|
95
|
+
# (Integer)
|
96
|
+
# :fit_page ::
|
97
|
+
# (Integer)
|
98
|
+
# :hcenter ::
|
99
|
+
# (Integer)
|
100
|
+
# :orientation ::
|
101
|
+
# (Integer)
|
102
|
+
# :outline_changed ::
|
103
|
+
# (Integer)
|
104
|
+
# :outline_on ::
|
105
|
+
# (Integer)
|
106
|
+
# :page_order ::
|
107
|
+
# (Integer)
|
108
|
+
# :page_setup_changed ::
|
109
|
+
# (Integer)
|
110
|
+
# :page_view ::
|
111
|
+
# (Integer)
|
112
|
+
# :paper_size ::
|
113
|
+
# (Integer)
|
114
|
+
# :print_gridlines ::
|
115
|
+
# (Integer)
|
116
|
+
# :print_headers ::
|
117
|
+
# (Integer)
|
118
|
+
# :print_options_changed ::
|
119
|
+
# (Integer)
|
120
|
+
# :right_to_left ::
|
121
|
+
# (Integer)
|
122
|
+
# :screen_gridlines ::
|
123
|
+
# (Integer)
|
124
|
+
# :show_zeros ::
|
125
|
+
# (Integer)
|
126
|
+
# :vba_codename ::
|
127
|
+
# (Integer)
|
128
|
+
# :vcenter ::
|
129
|
+
# (Integer)
|
130
|
+
# :zoom_scale_normal ::
|
131
|
+
# (Integer)
|
132
|
+
# :tab_color ::
|
133
|
+
# (Integer)
|
134
|
+
# :margin_left ::
|
135
|
+
# (Float)
|
136
|
+
# :margin_right ::
|
137
|
+
# (Float)
|
138
|
+
# :margin_top ::
|
139
|
+
# (Float)
|
140
|
+
# :margin_bottom ::
|
141
|
+
# (Float)
|
142
|
+
# :margin_header ::
|
143
|
+
# (Float)
|
144
|
+
# :margin_footer ::
|
145
|
+
# (Float)
|
146
|
+
# :default_row_height ::
|
147
|
+
# (Float)
|
148
|
+
# :default_row_pixels ::
|
149
|
+
# (Integer)
|
150
|
+
# :default_col_pixels ::
|
151
|
+
# (Integer)
|
152
|
+
# :default_row_zeroed ::
|
153
|
+
# (Integer)
|
154
|
+
# :default_row_set ::
|
155
|
+
# (Integer)
|
156
|
+
# :header_footer_changed ::
|
157
|
+
# (Integer)
|
158
|
+
# :header ::
|
159
|
+
# (Array<Integer>)
|
160
|
+
# :footer ::
|
161
|
+
# (Array<Integer>)
|
162
|
+
# :repeat_rows ::
|
163
|
+
# (RepeatRows)
|
164
|
+
# :repeat_cols ::
|
165
|
+
# (RepeatCols)
|
166
|
+
# :print_area ::
|
167
|
+
# (PrintArea)
|
168
|
+
# :autofilter ::
|
169
|
+
# (Autofilter)
|
170
|
+
# :merged_range_count ::
|
171
|
+
# (Integer)
|
172
|
+
# :hbreaks ::
|
173
|
+
# (FFI::Pointer(*RowT))
|
174
|
+
# :vbreaks ::
|
175
|
+
# (FFI::Pointer(*ColT))
|
176
|
+
# :hbreaks_count ::
|
177
|
+
# (Integer)
|
178
|
+
# :vbreaks_count ::
|
179
|
+
# (Integer)
|
180
|
+
# :external_hyperlinks ::
|
181
|
+
# (FFI::Pointer(*RelTuples))
|
182
|
+
# :external_drawing_links ::
|
183
|
+
# (FFI::Pointer(*RelTuples))
|
184
|
+
# :drawing_links ::
|
185
|
+
# (FFI::Pointer(*RelTuples))
|
186
|
+
# :panes ::
|
187
|
+
# (Panes)
|
188
|
+
# :protection ::
|
189
|
+
# (Protection)
|
190
|
+
# :drawing ::
|
191
|
+
# (Drawing)
|
192
|
+
# :list_pointers ::
|
193
|
+
# (WorksheetListPointers)
|
194
|
+
module WorksheetWrappers
|
195
|
+
# @param [Integer] row
|
196
|
+
# @param [Integer] col
|
197
|
+
# @param [Float] number
|
198
|
+
# @param [Format] format
|
199
|
+
# @return [Symbol from _enum_error_]
|
200
|
+
def write_number(row, col, number, format)
|
201
|
+
Libxlsxwriter.worksheet_write_number(self, row, col, number, format)
|
202
|
+
end
|
203
|
+
|
204
|
+
# @param [Integer] row
|
205
|
+
# @param [Integer] col
|
206
|
+
# @param [String] string
|
207
|
+
# @param [Format] format
|
208
|
+
# @return [Symbol from _enum_error_]
|
209
|
+
def write_string(row, col, string, format)
|
210
|
+
Libxlsxwriter.worksheet_write_string(self, row, col, string, format)
|
211
|
+
end
|
212
|
+
|
213
|
+
# @param [Integer] row
|
214
|
+
# @param [Integer] col
|
215
|
+
# @param [String] formula
|
216
|
+
# @param [Format] format
|
217
|
+
# @return [Symbol from _enum_error_]
|
218
|
+
def write_formula(row, col, formula, format)
|
219
|
+
Libxlsxwriter.worksheet_write_formula(self, row, col, formula, format)
|
220
|
+
end
|
221
|
+
|
222
|
+
# @param [Integer] first_row
|
223
|
+
# @param [Integer] first_col
|
224
|
+
# @param [Integer] last_row
|
225
|
+
# @param [Integer] last_col
|
226
|
+
# @param [String] formula
|
227
|
+
# @param [Format] format
|
228
|
+
# @return [Symbol from _enum_error_]
|
229
|
+
def write_array_formula(first_row, first_col, last_row, last_col, formula, format)
|
230
|
+
Libxlsxwriter.worksheet_write_array_formula(self, first_row, first_col, last_row, last_col, formula, format)
|
231
|
+
end
|
232
|
+
|
233
|
+
# @param [Integer] first_row
|
234
|
+
# @param [Integer] first_col
|
235
|
+
# @param [Integer] last_row
|
236
|
+
# @param [Integer] last_col
|
237
|
+
# @param [String] formula
|
238
|
+
# @param [Format] format
|
239
|
+
# @param [Float] result
|
240
|
+
# @return [Symbol from _enum_error_]
|
241
|
+
def write_array_formula_num(first_row, first_col, last_row, last_col, formula, format, result)
|
242
|
+
Libxlsxwriter.worksheet_write_array_formula_num(self, first_row, first_col, last_row, last_col, formula, format, result)
|
243
|
+
end
|
244
|
+
|
245
|
+
# @param [Integer] row
|
246
|
+
# @param [Integer] col
|
247
|
+
# @param [Datetime] datetime
|
248
|
+
# @param [Format] format
|
249
|
+
# @return [Symbol from _enum_error_]
|
250
|
+
def write_datetime(row, col, datetime, format)
|
251
|
+
Libxlsxwriter.worksheet_write_datetime(self, row, col, datetime, format)
|
252
|
+
end
|
253
|
+
|
254
|
+
# @param [Integer] row_num
|
255
|
+
# @param [Integer] col_num
|
256
|
+
# @param [String] url
|
257
|
+
# @param [Format] format
|
258
|
+
# @param [String] string
|
259
|
+
# @param [String] tooltip
|
260
|
+
# @return [Symbol from _enum_error_]
|
261
|
+
def write_url_opt(row_num, col_num, url, format, string, tooltip)
|
262
|
+
Libxlsxwriter.worksheet_write_url_opt(self, row_num, col_num, url, format, string, tooltip)
|
263
|
+
end
|
264
|
+
|
265
|
+
# @param [Integer] row
|
266
|
+
# @param [Integer] col
|
267
|
+
# @param [String] url
|
268
|
+
# @param [Format] format
|
269
|
+
# @return [Symbol from _enum_error_]
|
270
|
+
def write_url(row, col, url, format)
|
271
|
+
Libxlsxwriter.worksheet_write_url(self, row, col, url, format)
|
272
|
+
end
|
273
|
+
|
274
|
+
# @param [Integer] row
|
275
|
+
# @param [Integer] col
|
276
|
+
# @param [Integer] value
|
277
|
+
# @param [Format] format
|
278
|
+
# @return [Symbol from _enum_error_]
|
279
|
+
def write_boolean(row, col, value, format)
|
280
|
+
Libxlsxwriter.worksheet_write_boolean(self, row, col, value, format)
|
281
|
+
end
|
282
|
+
|
283
|
+
# @param [Integer] row
|
284
|
+
# @param [Integer] col
|
285
|
+
# @param [Format] format
|
286
|
+
# @return [Symbol from _enum_error_]
|
287
|
+
def write_blank(row, col, format)
|
288
|
+
Libxlsxwriter.worksheet_write_blank(self, row, col, format)
|
289
|
+
end
|
290
|
+
|
291
|
+
# @param [Integer] row
|
292
|
+
# @param [Integer] col
|
293
|
+
# @param [String] formula
|
294
|
+
# @param [Format] format
|
295
|
+
# @param [Float] result
|
296
|
+
# @return [Symbol from _enum_error_]
|
297
|
+
def write_formula_num(row, col, formula, format, result)
|
298
|
+
Libxlsxwriter.worksheet_write_formula_num(self, row, col, formula, format, result)
|
299
|
+
end
|
300
|
+
|
301
|
+
# @param [Integer] row
|
302
|
+
# @param [Float] height
|
303
|
+
# @param [Format] format
|
304
|
+
# @return [Symbol from _enum_error_]
|
305
|
+
def set_row(row, height, format)
|
306
|
+
Libxlsxwriter.worksheet_set_row(self, row, height, format)
|
307
|
+
end
|
308
|
+
|
309
|
+
# @param [Integer] row
|
310
|
+
# @param [Float] height
|
311
|
+
# @param [Format] format
|
312
|
+
# @param [RowColOptions] options
|
313
|
+
# @return [Symbol from _enum_error_]
|
314
|
+
def set_row_opt(row, height, format, options)
|
315
|
+
Libxlsxwriter.worksheet_set_row_opt(self, row, height, format, options)
|
316
|
+
end
|
317
|
+
|
318
|
+
# @param [Integer] first_col
|
319
|
+
# @param [Integer] last_col
|
320
|
+
# @param [Float] width
|
321
|
+
# @param [Format] format
|
322
|
+
# @return [Symbol from _enum_error_]
|
323
|
+
def set_column(first_col, last_col, width, format)
|
324
|
+
Libxlsxwriter.worksheet_set_column(self, first_col, last_col, width, format)
|
325
|
+
end
|
326
|
+
|
327
|
+
# @param [Integer] first_col
|
328
|
+
# @param [Integer] last_col
|
329
|
+
# @param [Float] width
|
330
|
+
# @param [Format] format
|
331
|
+
# @param [RowColOptions] options
|
332
|
+
# @return [Symbol from _enum_error_]
|
333
|
+
def set_column_opt(first_col, last_col, width, format, options)
|
334
|
+
Libxlsxwriter.worksheet_set_column_opt(self, first_col, last_col, width, format, options)
|
335
|
+
end
|
336
|
+
|
337
|
+
# @param [Integer] row
|
338
|
+
# @param [Integer] col
|
339
|
+
# @param [String] filename
|
340
|
+
# @return [Symbol from _enum_error_]
|
341
|
+
def insert_image(row, col, filename)
|
342
|
+
Libxlsxwriter.worksheet_insert_image(self, row, col, filename)
|
343
|
+
end
|
344
|
+
|
345
|
+
# @param [Integer] row
|
346
|
+
# @param [Integer] col
|
347
|
+
# @param [String] filename
|
348
|
+
# @param [ImageOptions] options
|
349
|
+
# @return [Symbol from _enum_error_]
|
350
|
+
def insert_image_opt(row, col, filename, options)
|
351
|
+
Libxlsxwriter.worksheet_insert_image_opt(self, row, col, filename, options)
|
352
|
+
end
|
353
|
+
|
354
|
+
# @param [Integer] row
|
355
|
+
# @param [Integer] col
|
356
|
+
# @param [Chart] chart
|
357
|
+
# @return [Symbol from _enum_error_]
|
358
|
+
def insert_chart(row, col, chart)
|
359
|
+
Libxlsxwriter.worksheet_insert_chart(self, row, col, chart)
|
360
|
+
end
|
361
|
+
|
362
|
+
# @param [Integer] row
|
363
|
+
# @param [Integer] col
|
364
|
+
# @param [Chart] chart
|
365
|
+
# @param [ImageOptions] user_options
|
366
|
+
# @return [Symbol from _enum_error_]
|
367
|
+
def insert_chart_opt(row, col, chart, user_options)
|
368
|
+
Libxlsxwriter.worksheet_insert_chart_opt(self, row, col, chart, user_options)
|
369
|
+
end
|
370
|
+
|
371
|
+
# @param [Integer] first_row
|
372
|
+
# @param [Integer] first_col
|
373
|
+
# @param [Integer] last_row
|
374
|
+
# @param [Integer] last_col
|
375
|
+
# @param [String] string
|
376
|
+
# @param [Format] format
|
377
|
+
# @return [Symbol from _enum_error_]
|
378
|
+
def merge_range(first_row, first_col, last_row, last_col, string, format)
|
379
|
+
Libxlsxwriter.worksheet_merge_range(self, first_row, first_col, last_row, last_col, string, format)
|
380
|
+
end
|
381
|
+
|
382
|
+
# @param [Integer] first_row
|
383
|
+
# @param [Integer] first_col
|
384
|
+
# @param [Integer] last_row
|
385
|
+
# @param [Integer] last_col
|
386
|
+
# @return [Symbol from _enum_error_]
|
387
|
+
def autofilter(first_row, first_col, last_row, last_col)
|
388
|
+
Libxlsxwriter.worksheet_autofilter(self, first_row, first_col, last_row, last_col)
|
389
|
+
end
|
390
|
+
|
391
|
+
# @return [nil]
|
392
|
+
def activate()
|
393
|
+
Libxlsxwriter.worksheet_activate(self)
|
394
|
+
end
|
395
|
+
|
396
|
+
# @return [nil]
|
397
|
+
def select()
|
398
|
+
Libxlsxwriter.worksheet_select(self)
|
399
|
+
end
|
400
|
+
|
401
|
+
# @return [nil]
|
402
|
+
def hide()
|
403
|
+
Libxlsxwriter.worksheet_hide(self)
|
404
|
+
end
|
405
|
+
|
406
|
+
# @return [nil]
|
407
|
+
def set_first_sheet()
|
408
|
+
Libxlsxwriter.worksheet_set_first_sheet(self)
|
409
|
+
end
|
410
|
+
|
411
|
+
# @param [Integer] row
|
412
|
+
# @param [Integer] col
|
413
|
+
# @return [nil]
|
414
|
+
def freeze_panes(row, col)
|
415
|
+
Libxlsxwriter.worksheet_freeze_panes(self, row, col)
|
416
|
+
end
|
417
|
+
|
418
|
+
# @param [Float] vertical
|
419
|
+
# @param [Float] horizontal
|
420
|
+
# @return [nil]
|
421
|
+
def split_panes(vertical, horizontal)
|
422
|
+
Libxlsxwriter.worksheet_split_panes(self, vertical, horizontal)
|
423
|
+
end
|
424
|
+
|
425
|
+
# @param [Integer] first_row
|
426
|
+
# @param [Integer] first_col
|
427
|
+
# @param [Integer] top_row
|
428
|
+
# @param [Integer] left_col
|
429
|
+
# @param [Integer] type
|
430
|
+
# @return [nil]
|
431
|
+
def freeze_panes_opt(first_row, first_col, top_row, left_col, type)
|
432
|
+
Libxlsxwriter.worksheet_freeze_panes_opt(self, first_row, first_col, top_row, left_col, type)
|
433
|
+
end
|
434
|
+
|
435
|
+
# @param [Float] vertical
|
436
|
+
# @param [Float] horizontal
|
437
|
+
# @param [Integer] top_row
|
438
|
+
# @param [Integer] left_col
|
439
|
+
# @return [nil]
|
440
|
+
def split_panes_opt(vertical, horizontal, top_row, left_col)
|
441
|
+
Libxlsxwriter.worksheet_split_panes_opt(self, vertical, horizontal, top_row, left_col)
|
442
|
+
end
|
443
|
+
|
444
|
+
# @param [Integer] first_row
|
445
|
+
# @param [Integer] first_col
|
446
|
+
# @param [Integer] last_row
|
447
|
+
# @param [Integer] last_col
|
448
|
+
# @return [nil]
|
449
|
+
def set_selection(first_row, first_col, last_row, last_col)
|
450
|
+
Libxlsxwriter.worksheet_set_selection(self, first_row, first_col, last_row, last_col)
|
451
|
+
end
|
452
|
+
|
453
|
+
# @return [nil]
|
454
|
+
def set_landscape()
|
455
|
+
Libxlsxwriter.worksheet_set_landscape(self)
|
456
|
+
end
|
457
|
+
|
458
|
+
# @return [nil]
|
459
|
+
def set_portrait()
|
460
|
+
Libxlsxwriter.worksheet_set_portrait(self)
|
461
|
+
end
|
462
|
+
|
463
|
+
# @return [nil]
|
464
|
+
def set_page_view()
|
465
|
+
Libxlsxwriter.worksheet_set_page_view(self)
|
466
|
+
end
|
467
|
+
|
468
|
+
# @param [Integer] paper_type
|
469
|
+
# @return [nil]
|
470
|
+
def set_paper(paper_type)
|
471
|
+
Libxlsxwriter.worksheet_set_paper(self, paper_type)
|
472
|
+
end
|
473
|
+
|
474
|
+
# @param [Float] left
|
475
|
+
# @param [Float] right
|
476
|
+
# @param [Float] top
|
477
|
+
# @param [Float] bottom
|
478
|
+
# @return [nil]
|
479
|
+
def set_margins(left, right, top, bottom)
|
480
|
+
Libxlsxwriter.worksheet_set_margins(self, left, right, top, bottom)
|
481
|
+
end
|
482
|
+
|
483
|
+
# @param [String] string
|
484
|
+
# @return [Symbol from _enum_error_]
|
485
|
+
def set_header(string)
|
486
|
+
Libxlsxwriter.worksheet_set_header(self, string)
|
487
|
+
end
|
488
|
+
|
489
|
+
# @param [String] string
|
490
|
+
# @return [Symbol from _enum_error_]
|
491
|
+
def set_footer(string)
|
492
|
+
Libxlsxwriter.worksheet_set_footer(self, string)
|
493
|
+
end
|
494
|
+
|
495
|
+
# @param [String] string
|
496
|
+
# @param [HeaderFooterOptions] options
|
497
|
+
# @return [Symbol from _enum_error_]
|
498
|
+
def set_header_opt(string, options)
|
499
|
+
Libxlsxwriter.worksheet_set_header_opt(self, string, options)
|
500
|
+
end
|
501
|
+
|
502
|
+
# @param [String] string
|
503
|
+
# @param [HeaderFooterOptions] options
|
504
|
+
# @return [Symbol from _enum_error_]
|
505
|
+
def set_footer_opt(string, options)
|
506
|
+
Libxlsxwriter.worksheet_set_footer_opt(self, string, options)
|
507
|
+
end
|
508
|
+
|
509
|
+
# @param [FFI::Pointer(*U_int)] breaks
|
510
|
+
# @return [Symbol from _enum_error_]
|
511
|
+
def set_h_pagebreaks(breaks)
|
512
|
+
Libxlsxwriter.worksheet_set_h_pagebreaks(self, breaks)
|
513
|
+
end
|
514
|
+
|
515
|
+
# @param [FFI::Pointer(*U_short)] breaks
|
516
|
+
# @return [Symbol from _enum_error_]
|
517
|
+
def set_v_pagebreaks(breaks)
|
518
|
+
Libxlsxwriter.worksheet_set_v_pagebreaks(self, breaks)
|
519
|
+
end
|
520
|
+
|
521
|
+
# @return [nil]
|
522
|
+
def print_across()
|
523
|
+
Libxlsxwriter.worksheet_print_across(self)
|
524
|
+
end
|
525
|
+
|
526
|
+
# @param [Integer] scale
|
527
|
+
# @return [nil]
|
528
|
+
def set_zoom(scale)
|
529
|
+
Libxlsxwriter.worksheet_set_zoom(self, scale)
|
530
|
+
end
|
531
|
+
|
532
|
+
# @param [Integer] option
|
533
|
+
# @return [nil]
|
534
|
+
def gridlines(option)
|
535
|
+
Libxlsxwriter.worksheet_gridlines(self, option)
|
536
|
+
end
|
537
|
+
|
538
|
+
# @return [nil]
|
539
|
+
def center_horizontally()
|
540
|
+
Libxlsxwriter.worksheet_center_horizontally(self)
|
541
|
+
end
|
542
|
+
|
543
|
+
# @return [nil]
|
544
|
+
def center_vertically()
|
545
|
+
Libxlsxwriter.worksheet_center_vertically(self)
|
546
|
+
end
|
547
|
+
|
548
|
+
# @return [nil]
|
549
|
+
def print_row_col_headers()
|
550
|
+
Libxlsxwriter.worksheet_print_row_col_headers(self)
|
551
|
+
end
|
552
|
+
|
553
|
+
# @param [Integer] first_row
|
554
|
+
# @param [Integer] last_row
|
555
|
+
# @return [Symbol from _enum_error_]
|
556
|
+
def repeat_rows(first_row, last_row)
|
557
|
+
Libxlsxwriter.worksheet_repeat_rows(self, first_row, last_row)
|
558
|
+
end
|
559
|
+
|
560
|
+
# @param [Integer] first_col
|
561
|
+
# @param [Integer] last_col
|
562
|
+
# @return [Symbol from _enum_error_]
|
563
|
+
def repeat_columns(first_col, last_col)
|
564
|
+
Libxlsxwriter.worksheet_repeat_columns(self, first_col, last_col)
|
565
|
+
end
|
566
|
+
|
567
|
+
# @param [Integer] first_row
|
568
|
+
# @param [Integer] first_col
|
569
|
+
# @param [Integer] last_row
|
570
|
+
# @param [Integer] last_col
|
571
|
+
# @return [Symbol from _enum_error_]
|
572
|
+
def print_area(first_row, first_col, last_row, last_col)
|
573
|
+
Libxlsxwriter.worksheet_print_area(self, first_row, first_col, last_row, last_col)
|
574
|
+
end
|
575
|
+
|
576
|
+
# @param [Integer] width
|
577
|
+
# @param [Integer] height
|
578
|
+
# @return [nil]
|
579
|
+
def fit_to_pages(width, height)
|
580
|
+
Libxlsxwriter.worksheet_fit_to_pages(self, width, height)
|
581
|
+
end
|
582
|
+
|
583
|
+
# @param [Integer] start_page
|
584
|
+
# @return [nil]
|
585
|
+
def set_start_page(start_page)
|
586
|
+
Libxlsxwriter.worksheet_set_start_page(self, start_page)
|
587
|
+
end
|
588
|
+
|
589
|
+
# @param [Integer] scale
|
590
|
+
# @return [nil]
|
591
|
+
def set_print_scale(scale)
|
592
|
+
Libxlsxwriter.worksheet_set_print_scale(self, scale)
|
593
|
+
end
|
594
|
+
|
595
|
+
# @return [nil]
|
596
|
+
def right_to_left()
|
597
|
+
Libxlsxwriter.worksheet_right_to_left(self)
|
598
|
+
end
|
599
|
+
|
600
|
+
# @return [nil]
|
601
|
+
def hide_zero()
|
602
|
+
Libxlsxwriter.worksheet_hide_zero(self)
|
603
|
+
end
|
604
|
+
|
605
|
+
# @param [Integer] color
|
606
|
+
# @return [nil]
|
607
|
+
def set_tab_color(color)
|
608
|
+
Libxlsxwriter.worksheet_set_tab_color(self, color)
|
609
|
+
end
|
610
|
+
|
611
|
+
# @param [String] password
|
612
|
+
# @param [Protection] options
|
613
|
+
# @return [nil]
|
614
|
+
def protect(password, options)
|
615
|
+
Libxlsxwriter.worksheet_protect(self, password, options)
|
616
|
+
end
|
617
|
+
|
618
|
+
# @param [Float] height
|
619
|
+
# @param [Integer] hide_unused_rows
|
620
|
+
# @return [nil]
|
621
|
+
def set_default_row(height, hide_unused_rows)
|
622
|
+
Libxlsxwriter.worksheet_set_default_row(self, height, hide_unused_rows)
|
623
|
+
end
|
624
|
+
|
625
|
+
# @return [nil]
|
626
|
+
def free()
|
627
|
+
Libxlsxwriter.worksheet_free(self)
|
628
|
+
end
|
629
|
+
|
630
|
+
# @return [nil]
|
631
|
+
def assemble_xml_file()
|
632
|
+
Libxlsxwriter.worksheet_assemble_xml_file(self)
|
633
|
+
end
|
634
|
+
|
635
|
+
# @return [nil]
|
636
|
+
def write_single_row()
|
637
|
+
Libxlsxwriter.worksheet_write_single_row(self)
|
638
|
+
end
|
639
|
+
|
640
|
+
# @param [Integer] image_ref_id
|
641
|
+
# @param [Integer] drawing_id
|
642
|
+
# @param [ImageOptions] image_data
|
643
|
+
# @return [nil]
|
644
|
+
def prepare_image(image_ref_id, drawing_id, image_data)
|
645
|
+
Libxlsxwriter.worksheet_prepare_image(self, image_ref_id, drawing_id, image_data)
|
646
|
+
end
|
647
|
+
|
648
|
+
# @param [Integer] chart_ref_id
|
649
|
+
# @param [Integer] drawing_id
|
650
|
+
# @param [ImageOptions] image_data
|
651
|
+
# @return [nil]
|
652
|
+
def prepare_chart(chart_ref_id, drawing_id, image_data)
|
653
|
+
Libxlsxwriter.worksheet_prepare_chart(self, chart_ref_id, drawing_id, image_data)
|
654
|
+
end
|
655
|
+
|
656
|
+
# @param [Integer] row_num
|
657
|
+
# @return [Row]
|
658
|
+
def find_row(row_num)
|
659
|
+
Row.new Libxlsxwriter.worksheet_find_row(self, row_num)
|
660
|
+
end
|
661
|
+
end
|
662
|
+
|
663
|
+
# = Fields:
|
664
|
+
# :rbh_root ::
|
665
|
+
# (FFI::Pointer(*Cell))
|
666
|
+
class TableCells < FFI::Struct
|
667
|
+
layout :rbh_root, :pointer
|
668
|
+
end
|
669
|
+
|
670
|
+
# = Fields:
|
671
|
+
# :rbh_root ::
|
672
|
+
# (FFI::Pointer(*Row))
|
673
|
+
# :cached_row ::
|
674
|
+
# (FFI::Pointer(*Row))
|
675
|
+
# :cached_row_num ::
|
676
|
+
# (Integer)
|
677
|
+
class TableRows < FFI::Struct
|
678
|
+
layout :rbh_root, :pointer,
|
679
|
+
:cached_row, :pointer,
|
680
|
+
:cached_row_num, :uint32
|
681
|
+
end
|
682
|
+
|
683
|
+
class Worksheet < FFI::Struct
|
684
|
+
include WorksheetWrappers
|
685
|
+
layout :file, :pointer,
|
686
|
+
:optimize_tmpfile, :pointer,
|
687
|
+
:table, TableRows.ptr,
|
688
|
+
:hyperlinks, TableRows.ptr,
|
689
|
+
:array, :pointer,
|
690
|
+
:merged_ranges, MergedRanges.ptr,
|
691
|
+
:selections, Selections.ptr,
|
692
|
+
:image_data, ImageData.ptr,
|
693
|
+
:chart_data, ChartData.ptr,
|
694
|
+
:dim_rowmin, :uint32,
|
695
|
+
:dim_rowmax, :uint32,
|
696
|
+
:dim_colmin, :uint16,
|
697
|
+
:dim_colmax, :uint16,
|
698
|
+
:sst, Sst.ptr,
|
699
|
+
:name, :string,
|
700
|
+
:quoted_name, :string,
|
701
|
+
:tmpdir, :pointer,
|
702
|
+
:index, :uint32,
|
703
|
+
:active, :uint8,
|
704
|
+
:selected, :uint8,
|
705
|
+
:hidden, :uint8,
|
706
|
+
:active_sheet, :pointer,
|
707
|
+
:first_sheet, :pointer,
|
708
|
+
:col_options, :pointer,
|
709
|
+
:col_options_max, :uint16,
|
710
|
+
:col_sizes, :pointer,
|
711
|
+
:col_sizes_max, :uint16,
|
712
|
+
:col_formats, :pointer,
|
713
|
+
:col_formats_max, :uint16,
|
714
|
+
:col_size_changed, :uint8,
|
715
|
+
:row_size_changed, :uint8,
|
716
|
+
:optimize, :uint8,
|
717
|
+
:optimize_row, :pointer,
|
718
|
+
:fit_height, :uint16,
|
719
|
+
:fit_width, :uint16,
|
720
|
+
:horizontal_dpi, :uint16,
|
721
|
+
:hlink_count, :uint16,
|
722
|
+
:page_start, :uint16,
|
723
|
+
:print_scale, :uint16,
|
724
|
+
:rel_count, :uint16,
|
725
|
+
:vertical_dpi, :uint16,
|
726
|
+
:zoom, :uint16,
|
727
|
+
:filter_on, :uint8,
|
728
|
+
:fit_page, :uint8,
|
729
|
+
:hcenter, :uint8,
|
730
|
+
:orientation, :uint8,
|
731
|
+
:outline_changed, :uint8,
|
732
|
+
:outline_on, :uint8,
|
733
|
+
:page_order, :uint8,
|
734
|
+
:page_setup_changed, :uint8,
|
735
|
+
:page_view, :uint8,
|
736
|
+
:paper_size, :uint8,
|
737
|
+
:print_gridlines, :uint8,
|
738
|
+
:print_headers, :uint8,
|
739
|
+
:print_options_changed, :uint8,
|
740
|
+
:right_to_left, :uint8,
|
741
|
+
:screen_gridlines, :uint8,
|
742
|
+
:show_zeros, :uint8,
|
743
|
+
:vba_codename, :uint8,
|
744
|
+
:vcenter, :uint8,
|
745
|
+
:zoom_scale_normal, :uint8,
|
746
|
+
:tab_color, :int,
|
747
|
+
:margin_left, :double,
|
748
|
+
:margin_right, :double,
|
749
|
+
:margin_top, :double,
|
750
|
+
:margin_bottom, :double,
|
751
|
+
:margin_header, :double,
|
752
|
+
:margin_footer, :double,
|
753
|
+
:default_row_height, :double,
|
754
|
+
:default_row_pixels, :uint,
|
755
|
+
:default_col_pixels, :uint,
|
756
|
+
:default_row_zeroed, :uchar,
|
757
|
+
:default_row_set, :uint8,
|
758
|
+
:header_footer_changed, :uint8,
|
759
|
+
:header, [:char, 255],
|
760
|
+
:footer, [:char, 255],
|
761
|
+
:repeat_rows, RepeatRows.by_value,
|
762
|
+
:repeat_cols, RepeatCols.by_value,
|
763
|
+
:print_area, PrintArea.by_value,
|
764
|
+
:autofilter, Autofilter.by_value,
|
765
|
+
:merged_range_count, :uint16,
|
766
|
+
:hbreaks, :pointer,
|
767
|
+
:vbreaks, :pointer,
|
768
|
+
:hbreaks_count, :uint16,
|
769
|
+
:vbreaks_count, :uint16,
|
770
|
+
:external_hyperlinks, :pointer,
|
771
|
+
:external_drawing_links, :pointer,
|
772
|
+
:drawing_links, :pointer,
|
773
|
+
:panes, Panes.by_value,
|
774
|
+
:protection, Protection.by_value,
|
775
|
+
:drawing, Drawing.ptr,
|
776
|
+
:list_pointers, WorksheetListPointers.by_value
|
777
|
+
end
|
778
|
+
|
779
|
+
# = Fields:
|
780
|
+
# :index ::
|
781
|
+
# (Integer)
|
782
|
+
# :hidden ::
|
783
|
+
# (Integer)
|
784
|
+
# :optimize ::
|
785
|
+
# (Integer)
|
786
|
+
# :active_sheet ::
|
787
|
+
# (FFI::Pointer(*Uint16T))
|
788
|
+
# :first_sheet ::
|
789
|
+
# (FFI::Pointer(*Uint16T))
|
790
|
+
# :sst ::
|
791
|
+
# (Sst)
|
792
|
+
# :name ::
|
793
|
+
# (String)
|
794
|
+
# :quoted_name ::
|
795
|
+
# (String)
|
796
|
+
# :tmpdir ::
|
797
|
+
# (String)
|
798
|
+
class WorksheetInitData < FFI::Struct
|
799
|
+
layout :index, :uint,
|
800
|
+
:hidden, :uchar,
|
801
|
+
:optimize, :uchar,
|
802
|
+
:active_sheet, :pointer,
|
803
|
+
:first_sheet, :pointer,
|
804
|
+
:sst, Sst,
|
805
|
+
:name, :string,
|
806
|
+
:quoted_name, :string,
|
807
|
+
:tmpdir, :string
|
808
|
+
end
|
809
|
+
|
810
|
+
# = Fields:
|
811
|
+
# :rbe_left ::
|
812
|
+
# (FFI::Pointer(*Row))
|
813
|
+
# :rbe_right ::
|
814
|
+
# (FFI::Pointer(*Row))
|
815
|
+
# :rbe_parent ::
|
816
|
+
# (FFI::Pointer(*Row))
|
817
|
+
# :rbe_color ::
|
818
|
+
# (Integer)
|
819
|
+
class RowTreePointers < FFI::Struct
|
820
|
+
layout :rbe_left, :pointer,
|
821
|
+
:rbe_right, :pointer,
|
822
|
+
:rbe_parent, :pointer,
|
823
|
+
:rbe_color, :int
|
824
|
+
end
|
825
|
+
|
826
|
+
# = Fields:
|
827
|
+
# :row_num ::
|
828
|
+
# (Integer)
|
829
|
+
# :height ::
|
830
|
+
# (Float)
|
831
|
+
# :format ::
|
832
|
+
# (Format)
|
833
|
+
# :hidden ::
|
834
|
+
# (Integer)
|
835
|
+
# :level ::
|
836
|
+
# (Integer)
|
837
|
+
# :collapsed ::
|
838
|
+
# (Integer)
|
839
|
+
# :row_changed ::
|
840
|
+
# (Integer)
|
841
|
+
# :data_changed ::
|
842
|
+
# (Integer)
|
843
|
+
# :height_changed ::
|
844
|
+
# (Integer)
|
845
|
+
# :cells ::
|
846
|
+
# (TableCells)
|
847
|
+
# :tree_pointers ::
|
848
|
+
# (RowTreePointers)
|
849
|
+
class Row < FFI::Struct
|
850
|
+
layout :row_num, :uint,
|
851
|
+
:height, :double,
|
852
|
+
:format, Format,
|
853
|
+
:hidden, :uchar,
|
854
|
+
:level, :uchar,
|
855
|
+
:collapsed, :uchar,
|
856
|
+
:row_changed, :uchar,
|
857
|
+
:data_changed, :uchar,
|
858
|
+
:height_changed, :uchar,
|
859
|
+
:cells, TableCells,
|
860
|
+
:tree_pointers, RowTreePointers.by_value
|
861
|
+
end
|
862
|
+
|
863
|
+
# = Fields:
|
864
|
+
# :number ::
|
865
|
+
# (Float)
|
866
|
+
# :string_id ::
|
867
|
+
# (Integer)
|
868
|
+
# :string ::
|
869
|
+
# (String)
|
870
|
+
class CellU < FFI::Union
|
871
|
+
layout :number, :double,
|
872
|
+
:string_id, :int,
|
873
|
+
:string, :string
|
874
|
+
end
|
875
|
+
|
876
|
+
# = Fields:
|
877
|
+
# :rbe_left ::
|
878
|
+
# (FFI::Pointer(*Cell))
|
879
|
+
# :rbe_right ::
|
880
|
+
# (FFI::Pointer(*Cell))
|
881
|
+
# :rbe_parent ::
|
882
|
+
# (FFI::Pointer(*Cell))
|
883
|
+
# :rbe_color ::
|
884
|
+
# (Integer)
|
885
|
+
class CellTreePointers < FFI::Struct
|
886
|
+
layout :rbe_left, :pointer,
|
887
|
+
:rbe_right, :pointer,
|
888
|
+
:rbe_parent, :pointer,
|
889
|
+
:rbe_color, :int
|
890
|
+
end
|
891
|
+
|
892
|
+
# = Fields:
|
893
|
+
# :row_num ::
|
894
|
+
# (Integer)
|
895
|
+
# :col_num ::
|
896
|
+
# (Integer)
|
897
|
+
# :type ::
|
898
|
+
# (Symbol from _enum_cell_types_)
|
899
|
+
# :format ::
|
900
|
+
# (Format)
|
901
|
+
# :u ::
|
902
|
+
# (CellU)
|
903
|
+
# :formula_result ::
|
904
|
+
# (Float)
|
905
|
+
# :user_data1 ::
|
906
|
+
# (String)
|
907
|
+
# :user_data2 ::
|
908
|
+
# (String)
|
909
|
+
# :sst_string ::
|
910
|
+
# (String)
|
911
|
+
# :tree_pointers ::
|
912
|
+
# (CellTreePointers)
|
913
|
+
class Cell < FFI::Struct
|
914
|
+
layout :row_num, :uint,
|
915
|
+
:col_num, :ushort,
|
916
|
+
:type, :cell_types,
|
917
|
+
:format, Format,
|
918
|
+
:u, CellU.by_value,
|
919
|
+
:formula_result, :double,
|
920
|
+
:user_data1, :string,
|
921
|
+
:user_data2, :string,
|
922
|
+
:sst_string, :string,
|
923
|
+
:tree_pointers, CellTreePointers.by_value
|
924
|
+
end
|
925
|
+
|
926
|
+
# @method worksheet_write_number(worksheet, row, col, number, format)
|
927
|
+
# @param [Worksheet] worksheet
|
928
|
+
# @param [Integer] row
|
929
|
+
# @param [Integer] col
|
930
|
+
# @param [Float] number
|
931
|
+
# @param [Format] format
|
932
|
+
# @return [Symbol from _enum_error_]
|
933
|
+
# @scope class
|
934
|
+
attach_function :worksheet_write_number, :worksheet_write_number, [Worksheet, :uint, :ushort, :double, Format], :error
|
935
|
+
|
936
|
+
# @method worksheet_write_string(worksheet, row, col, string, format)
|
937
|
+
# @param [Worksheet] worksheet
|
938
|
+
# @param [Integer] row
|
939
|
+
# @param [Integer] col
|
940
|
+
# @param [String] string
|
941
|
+
# @param [Format] format
|
942
|
+
# @return [Symbol from _enum_error_]
|
943
|
+
# @scope class
|
944
|
+
attach_function :worksheet_write_string, :worksheet_write_string, [Worksheet, :uint, :ushort, :string, Format], :error
|
945
|
+
|
946
|
+
# @method worksheet_write_formula(worksheet, row, col, formula, format)
|
947
|
+
# @param [Worksheet] worksheet
|
948
|
+
# @param [Integer] row
|
949
|
+
# @param [Integer] col
|
950
|
+
# @param [String] formula
|
951
|
+
# @param [Format] format
|
952
|
+
# @return [Symbol from _enum_error_]
|
953
|
+
# @scope class
|
954
|
+
attach_function :worksheet_write_formula, :worksheet_write_formula, [Worksheet, :uint, :ushort, :string, Format], :error
|
955
|
+
|
956
|
+
# @method worksheet_write_array_formula(worksheet, first_row, first_col, last_row, last_col, formula, format)
|
957
|
+
# @param [Worksheet] worksheet
|
958
|
+
# @param [Integer] first_row
|
959
|
+
# @param [Integer] first_col
|
960
|
+
# @param [Integer] last_row
|
961
|
+
# @param [Integer] last_col
|
962
|
+
# @param [String] formula
|
963
|
+
# @param [Format] format
|
964
|
+
# @return [Symbol from _enum_error_]
|
965
|
+
# @scope class
|
966
|
+
attach_function :worksheet_write_array_formula, :worksheet_write_array_formula, [Worksheet, :uint, :ushort, :uint, :ushort, :string, Format], :error
|
967
|
+
|
968
|
+
# @method worksheet_write_array_formula_num(worksheet, first_row, first_col, last_row, last_col, formula, format, result)
|
969
|
+
# @param [Worksheet] worksheet
|
970
|
+
# @param [Integer] first_row
|
971
|
+
# @param [Integer] first_col
|
972
|
+
# @param [Integer] last_row
|
973
|
+
# @param [Integer] last_col
|
974
|
+
# @param [String] formula
|
975
|
+
# @param [Format] format
|
976
|
+
# @param [Float] result
|
977
|
+
# @return [Symbol from _enum_error_]
|
978
|
+
# @scope class
|
979
|
+
attach_function :worksheet_write_array_formula_num, :worksheet_write_array_formula_num, [Worksheet, :uint, :ushort, :uint, :ushort, :string, Format, :double], :error
|
980
|
+
|
981
|
+
# @method worksheet_write_datetime(worksheet, row, col, datetime, format)
|
982
|
+
# @param [Worksheet] worksheet
|
983
|
+
# @param [Integer] row
|
984
|
+
# @param [Integer] col
|
985
|
+
# @param [Datetime] datetime
|
986
|
+
# @param [Format] format
|
987
|
+
# @return [Symbol from _enum_error_]
|
988
|
+
# @scope class
|
989
|
+
attach_function :worksheet_write_datetime, :worksheet_write_datetime, [Worksheet, :uint, :ushort, Datetime, Format], :error
|
990
|
+
|
991
|
+
# @method worksheet_write_url_opt(worksheet, row_num, col_num, url, format, string, tooltip)
|
992
|
+
# @param [Worksheet] worksheet
|
993
|
+
# @param [Integer] row_num
|
994
|
+
# @param [Integer] col_num
|
995
|
+
# @param [String] url
|
996
|
+
# @param [Format] format
|
997
|
+
# @param [String] string
|
998
|
+
# @param [String] tooltip
|
999
|
+
# @return [Symbol from _enum_error_]
|
1000
|
+
# @scope class
|
1001
|
+
attach_function :worksheet_write_url_opt, :worksheet_write_url_opt, [Worksheet, :uint, :ushort, :string, Format, :string, :string], :error
|
1002
|
+
|
1003
|
+
# @method worksheet_write_url(worksheet, row, col, url, format)
|
1004
|
+
# @param [Worksheet] worksheet
|
1005
|
+
# @param [Integer] row
|
1006
|
+
# @param [Integer] col
|
1007
|
+
# @param [String] url
|
1008
|
+
# @param [Format] format
|
1009
|
+
# @return [Symbol from _enum_error_]
|
1010
|
+
# @scope class
|
1011
|
+
attach_function :worksheet_write_url, :worksheet_write_url, [Worksheet, :uint, :ushort, :string, Format], :error
|
1012
|
+
|
1013
|
+
# @method worksheet_write_boolean(worksheet, row, col, value, format)
|
1014
|
+
# @param [Worksheet] worksheet
|
1015
|
+
# @param [Integer] row
|
1016
|
+
# @param [Integer] col
|
1017
|
+
# @param [Integer] value
|
1018
|
+
# @param [Format] format
|
1019
|
+
# @return [Symbol from _enum_error_]
|
1020
|
+
# @scope class
|
1021
|
+
attach_function :worksheet_write_boolean, :worksheet_write_boolean, [Worksheet, :uint, :ushort, :int, Format], :error
|
1022
|
+
|
1023
|
+
# @method worksheet_write_blank(worksheet, row, col, format)
|
1024
|
+
# @param [Worksheet] worksheet
|
1025
|
+
# @param [Integer] row
|
1026
|
+
# @param [Integer] col
|
1027
|
+
# @param [Format] format
|
1028
|
+
# @return [Symbol from _enum_error_]
|
1029
|
+
# @scope class
|
1030
|
+
attach_function :worksheet_write_blank, :worksheet_write_blank, [Worksheet, :uint, :ushort, Format], :error
|
1031
|
+
|
1032
|
+
# @method worksheet_write_formula_num(worksheet, row, col, formula, format, result)
|
1033
|
+
# @param [Worksheet] worksheet
|
1034
|
+
# @param [Integer] row
|
1035
|
+
# @param [Integer] col
|
1036
|
+
# @param [String] formula
|
1037
|
+
# @param [Format] format
|
1038
|
+
# @param [Float] result
|
1039
|
+
# @return [Symbol from _enum_error_]
|
1040
|
+
# @scope class
|
1041
|
+
attach_function :worksheet_write_formula_num, :worksheet_write_formula_num, [Worksheet, :uint, :ushort, :string, Format, :double], :error
|
1042
|
+
|
1043
|
+
# @method worksheet_set_row(worksheet, row, height, format)
|
1044
|
+
# @param [Worksheet] worksheet
|
1045
|
+
# @param [Integer] row
|
1046
|
+
# @param [Float] height
|
1047
|
+
# @param [Format] format
|
1048
|
+
# @return [Symbol from _enum_error_]
|
1049
|
+
# @scope class
|
1050
|
+
attach_function :worksheet_set_row, :worksheet_set_row, [Worksheet, :uint, :double, Format], :error
|
1051
|
+
|
1052
|
+
# @method worksheet_set_row_opt(worksheet, row, height, format, options)
|
1053
|
+
# @param [Worksheet] worksheet
|
1054
|
+
# @param [Integer] row
|
1055
|
+
# @param [Float] height
|
1056
|
+
# @param [Format] format
|
1057
|
+
# @param [RowColOptions] options
|
1058
|
+
# @return [Symbol from _enum_error_]
|
1059
|
+
# @scope class
|
1060
|
+
attach_function :worksheet_set_row_opt, :worksheet_set_row_opt, [Worksheet, :uint, :double, Format, RowColOptions], :error
|
1061
|
+
|
1062
|
+
# @method worksheet_set_column(worksheet, first_col, last_col, width, format)
|
1063
|
+
# @param [Worksheet] worksheet
|
1064
|
+
# @param [Integer] first_col
|
1065
|
+
# @param [Integer] last_col
|
1066
|
+
# @param [Float] width
|
1067
|
+
# @param [Format] format
|
1068
|
+
# @return [Symbol from _enum_error_]
|
1069
|
+
# @scope class
|
1070
|
+
attach_function :worksheet_set_column, :worksheet_set_column, [Worksheet, :ushort, :ushort, :double, Format], :error
|
1071
|
+
|
1072
|
+
# @method worksheet_set_column_opt(worksheet, first_col, last_col, width, format, options)
|
1073
|
+
# @param [Worksheet] worksheet
|
1074
|
+
# @param [Integer] first_col
|
1075
|
+
# @param [Integer] last_col
|
1076
|
+
# @param [Float] width
|
1077
|
+
# @param [Format] format
|
1078
|
+
# @param [RowColOptions] options
|
1079
|
+
# @return [Symbol from _enum_error_]
|
1080
|
+
# @scope class
|
1081
|
+
attach_function :worksheet_set_column_opt, :worksheet_set_column_opt, [Worksheet, :ushort, :ushort, :double, Format, RowColOptions], :error
|
1082
|
+
|
1083
|
+
# @method worksheet_insert_image(worksheet, row, col, filename)
|
1084
|
+
# @param [Worksheet] worksheet
|
1085
|
+
# @param [Integer] row
|
1086
|
+
# @param [Integer] col
|
1087
|
+
# @param [String] filename
|
1088
|
+
# @return [Symbol from _enum_error_]
|
1089
|
+
# @scope class
|
1090
|
+
attach_function :worksheet_insert_image, :worksheet_insert_image, [Worksheet, :uint, :ushort, :string], :error
|
1091
|
+
|
1092
|
+
# @method worksheet_insert_image_opt(worksheet, row, col, filename, options)
|
1093
|
+
# @param [Worksheet] worksheet
|
1094
|
+
# @param [Integer] row
|
1095
|
+
# @param [Integer] col
|
1096
|
+
# @param [String] filename
|
1097
|
+
# @param [ImageOptions] options
|
1098
|
+
# @return [Symbol from _enum_error_]
|
1099
|
+
# @scope class
|
1100
|
+
attach_function :worksheet_insert_image_opt, :worksheet_insert_image_opt, [Worksheet, :uint, :ushort, :string, ImageOptions], :error
|
1101
|
+
|
1102
|
+
# @method worksheet_insert_chart(worksheet, row, col, chart)
|
1103
|
+
# @param [Worksheet] worksheet
|
1104
|
+
# @param [Integer] row
|
1105
|
+
# @param [Integer] col
|
1106
|
+
# @param [Chart] chart
|
1107
|
+
# @return [Symbol from _enum_error_]
|
1108
|
+
# @scope class
|
1109
|
+
attach_function :worksheet_insert_chart, :worksheet_insert_chart, [Worksheet, :uint, :ushort, Chart], :error
|
1110
|
+
|
1111
|
+
# @method worksheet_insert_chart_opt(worksheet, row, col, chart, user_options)
|
1112
|
+
# @param [Worksheet] worksheet
|
1113
|
+
# @param [Integer] row
|
1114
|
+
# @param [Integer] col
|
1115
|
+
# @param [Chart] chart
|
1116
|
+
# @param [ImageOptions] user_options
|
1117
|
+
# @return [Symbol from _enum_error_]
|
1118
|
+
# @scope class
|
1119
|
+
attach_function :worksheet_insert_chart_opt, :worksheet_insert_chart_opt, [Worksheet, :uint, :ushort, Chart, ImageOptions], :error
|
1120
|
+
|
1121
|
+
# @method worksheet_merge_range(worksheet, first_row, first_col, last_row, last_col, string, format)
|
1122
|
+
# @param [Worksheet] worksheet
|
1123
|
+
# @param [Integer] first_row
|
1124
|
+
# @param [Integer] first_col
|
1125
|
+
# @param [Integer] last_row
|
1126
|
+
# @param [Integer] last_col
|
1127
|
+
# @param [String] string
|
1128
|
+
# @param [Format] format
|
1129
|
+
# @return [Symbol from _enum_error_]
|
1130
|
+
# @scope class
|
1131
|
+
attach_function :worksheet_merge_range, :worksheet_merge_range, [Worksheet, :uint, :ushort, :uint, :ushort, :string, Format], :error
|
1132
|
+
|
1133
|
+
# @method worksheet_autofilter(worksheet, first_row, first_col, last_row, last_col)
|
1134
|
+
# @param [Worksheet] worksheet
|
1135
|
+
# @param [Integer] first_row
|
1136
|
+
# @param [Integer] first_col
|
1137
|
+
# @param [Integer] last_row
|
1138
|
+
# @param [Integer] last_col
|
1139
|
+
# @return [Symbol from _enum_error_]
|
1140
|
+
# @scope class
|
1141
|
+
attach_function :worksheet_autofilter, :worksheet_autofilter, [Worksheet, :uint, :ushort, :uint, :ushort], :error
|
1142
|
+
|
1143
|
+
# @method worksheet_activate(worksheet)
|
1144
|
+
# @param [Worksheet] worksheet
|
1145
|
+
# @return [nil]
|
1146
|
+
# @scope class
|
1147
|
+
attach_function :worksheet_activate, :worksheet_activate, [Worksheet], :void
|
1148
|
+
|
1149
|
+
# @method worksheet_select(worksheet)
|
1150
|
+
# @param [Worksheet] worksheet
|
1151
|
+
# @return [nil]
|
1152
|
+
# @scope class
|
1153
|
+
attach_function :worksheet_select, :worksheet_select, [Worksheet], :void
|
1154
|
+
|
1155
|
+
# @method worksheet_hide(worksheet)
|
1156
|
+
# @param [Worksheet] worksheet
|
1157
|
+
# @return [nil]
|
1158
|
+
# @scope class
|
1159
|
+
attach_function :worksheet_hide, :worksheet_hide, [Worksheet], :void
|
1160
|
+
|
1161
|
+
# @method worksheet_set_first_sheet(worksheet)
|
1162
|
+
# @param [Worksheet] worksheet
|
1163
|
+
# @return [nil]
|
1164
|
+
# @scope class
|
1165
|
+
attach_function :worksheet_set_first_sheet, :worksheet_set_first_sheet, [Worksheet], :void
|
1166
|
+
|
1167
|
+
# @method worksheet_freeze_panes(worksheet, row, col)
|
1168
|
+
# @param [Worksheet] worksheet
|
1169
|
+
# @param [Integer] row
|
1170
|
+
# @param [Integer] col
|
1171
|
+
# @return [nil]
|
1172
|
+
# @scope class
|
1173
|
+
attach_function :worksheet_freeze_panes, :worksheet_freeze_panes, [Worksheet, :uint, :ushort], :void
|
1174
|
+
|
1175
|
+
# @method worksheet_split_panes(worksheet, vertical, horizontal)
|
1176
|
+
# @param [Worksheet] worksheet
|
1177
|
+
# @param [Float] vertical
|
1178
|
+
# @param [Float] horizontal
|
1179
|
+
# @return [nil]
|
1180
|
+
# @scope class
|
1181
|
+
attach_function :worksheet_split_panes, :worksheet_split_panes, [Worksheet, :double, :double], :void
|
1182
|
+
|
1183
|
+
# @method worksheet_freeze_panes_opt(worksheet, first_row, first_col, top_row, left_col, type)
|
1184
|
+
# @param [Worksheet] worksheet
|
1185
|
+
# @param [Integer] first_row
|
1186
|
+
# @param [Integer] first_col
|
1187
|
+
# @param [Integer] top_row
|
1188
|
+
# @param [Integer] left_col
|
1189
|
+
# @param [Integer] type
|
1190
|
+
# @return [nil]
|
1191
|
+
# @scope class
|
1192
|
+
attach_function :worksheet_freeze_panes_opt, :worksheet_freeze_panes_opt, [Worksheet, :uint, :ushort, :uint, :ushort, :uchar], :void
|
1193
|
+
|
1194
|
+
# @method worksheet_split_panes_opt(worksheet, vertical, horizontal, top_row, left_col)
|
1195
|
+
# @param [Worksheet] worksheet
|
1196
|
+
# @param [Float] vertical
|
1197
|
+
# @param [Float] horizontal
|
1198
|
+
# @param [Integer] top_row
|
1199
|
+
# @param [Integer] left_col
|
1200
|
+
# @return [nil]
|
1201
|
+
# @scope class
|
1202
|
+
attach_function :worksheet_split_panes_opt, :worksheet_split_panes_opt, [Worksheet, :double, :double, :uint, :ushort], :void
|
1203
|
+
|
1204
|
+
# @method worksheet_set_selection(worksheet, first_row, first_col, last_row, last_col)
|
1205
|
+
# @param [Worksheet] worksheet
|
1206
|
+
# @param [Integer] first_row
|
1207
|
+
# @param [Integer] first_col
|
1208
|
+
# @param [Integer] last_row
|
1209
|
+
# @param [Integer] last_col
|
1210
|
+
# @return [nil]
|
1211
|
+
# @scope class
|
1212
|
+
attach_function :worksheet_set_selection, :worksheet_set_selection, [Worksheet, :uint, :ushort, :uint, :ushort], :void
|
1213
|
+
|
1214
|
+
# @method worksheet_set_landscape(worksheet)
|
1215
|
+
# @param [Worksheet] worksheet
|
1216
|
+
# @return [nil]
|
1217
|
+
# @scope class
|
1218
|
+
attach_function :worksheet_set_landscape, :worksheet_set_landscape, [Worksheet], :void
|
1219
|
+
|
1220
|
+
# @method worksheet_set_portrait(worksheet)
|
1221
|
+
# @param [Worksheet] worksheet
|
1222
|
+
# @return [nil]
|
1223
|
+
# @scope class
|
1224
|
+
attach_function :worksheet_set_portrait, :worksheet_set_portrait, [Worksheet], :void
|
1225
|
+
|
1226
|
+
# @method worksheet_set_page_view(worksheet)
|
1227
|
+
# @param [Worksheet] worksheet
|
1228
|
+
# @return [nil]
|
1229
|
+
# @scope class
|
1230
|
+
attach_function :worksheet_set_page_view, :worksheet_set_page_view, [Worksheet], :void
|
1231
|
+
|
1232
|
+
# @method worksheet_set_paper(worksheet, paper_type)
|
1233
|
+
# @param [Worksheet] worksheet
|
1234
|
+
# @param [Integer] paper_type
|
1235
|
+
# @return [nil]
|
1236
|
+
# @scope class
|
1237
|
+
attach_function :worksheet_set_paper, :worksheet_set_paper, [Worksheet, :uchar], :void
|
1238
|
+
|
1239
|
+
# @method worksheet_set_margins(worksheet, left, right, top, bottom)
|
1240
|
+
# @param [Worksheet] worksheet
|
1241
|
+
# @param [Float] left
|
1242
|
+
# @param [Float] right
|
1243
|
+
# @param [Float] top
|
1244
|
+
# @param [Float] bottom
|
1245
|
+
# @return [nil]
|
1246
|
+
# @scope class
|
1247
|
+
attach_function :worksheet_set_margins, :worksheet_set_margins, [Worksheet, :double, :double, :double, :double], :void
|
1248
|
+
|
1249
|
+
# @method worksheet_set_header(worksheet, string)
|
1250
|
+
# @param [Worksheet] worksheet
|
1251
|
+
# @param [String] string
|
1252
|
+
# @return [Symbol from _enum_error_]
|
1253
|
+
# @scope class
|
1254
|
+
attach_function :worksheet_set_header, :worksheet_set_header, [Worksheet, :string], :error
|
1255
|
+
|
1256
|
+
# @method worksheet_set_footer(worksheet, string)
|
1257
|
+
# @param [Worksheet] worksheet
|
1258
|
+
# @param [String] string
|
1259
|
+
# @return [Symbol from _enum_error_]
|
1260
|
+
# @scope class
|
1261
|
+
attach_function :worksheet_set_footer, :worksheet_set_footer, [Worksheet, :string], :error
|
1262
|
+
|
1263
|
+
# @method worksheet_set_header_opt(worksheet, string, options)
|
1264
|
+
# @param [Worksheet] worksheet
|
1265
|
+
# @param [String] string
|
1266
|
+
# @param [HeaderFooterOptions] options
|
1267
|
+
# @return [Symbol from _enum_error_]
|
1268
|
+
# @scope class
|
1269
|
+
attach_function :worksheet_set_header_opt, :worksheet_set_header_opt, [Worksheet, :string, HeaderFooterOptions], :error
|
1270
|
+
|
1271
|
+
# @method worksheet_set_footer_opt(worksheet, string, options)
|
1272
|
+
# @param [Worksheet] worksheet
|
1273
|
+
# @param [String] string
|
1274
|
+
# @param [HeaderFooterOptions] options
|
1275
|
+
# @return [Symbol from _enum_error_]
|
1276
|
+
# @scope class
|
1277
|
+
attach_function :worksheet_set_footer_opt, :worksheet_set_footer_opt, [Worksheet, :string, HeaderFooterOptions], :error
|
1278
|
+
|
1279
|
+
# @method worksheet_set_h_pagebreaks(worksheet, breaks)
|
1280
|
+
# @param [Worksheet] worksheet
|
1281
|
+
# @param [FFI::Pointer(*U_int)] breaks
|
1282
|
+
# @return [Symbol from _enum_error_]
|
1283
|
+
# @scope class
|
1284
|
+
attach_function :worksheet_set_h_pagebreaks, :worksheet_set_h_pagebreaks, [Worksheet, :pointer], :error
|
1285
|
+
|
1286
|
+
# @method worksheet_set_v_pagebreaks(worksheet, breaks)
|
1287
|
+
# @param [Worksheet] worksheet
|
1288
|
+
# @param [FFI::Pointer(*U_short)] breaks
|
1289
|
+
# @return [Symbol from _enum_error_]
|
1290
|
+
# @scope class
|
1291
|
+
attach_function :worksheet_set_v_pagebreaks, :worksheet_set_v_pagebreaks, [Worksheet, :pointer], :error
|
1292
|
+
|
1293
|
+
# @method worksheet_print_across(worksheet)
|
1294
|
+
# @param [Worksheet] worksheet
|
1295
|
+
# @return [nil]
|
1296
|
+
# @scope class
|
1297
|
+
attach_function :worksheet_print_across, :worksheet_print_across, [Worksheet], :void
|
1298
|
+
|
1299
|
+
# @method worksheet_set_zoom(worksheet, scale)
|
1300
|
+
# @param [Worksheet] worksheet
|
1301
|
+
# @param [Integer] scale
|
1302
|
+
# @return [nil]
|
1303
|
+
# @scope class
|
1304
|
+
attach_function :worksheet_set_zoom, :worksheet_set_zoom, [Worksheet, :ushort], :void
|
1305
|
+
|
1306
|
+
# @method worksheet_gridlines(worksheet, option)
|
1307
|
+
# @param [Worksheet] worksheet
|
1308
|
+
# @param [Integer] option
|
1309
|
+
# @return [nil]
|
1310
|
+
# @scope class
|
1311
|
+
attach_function :worksheet_gridlines, :worksheet_gridlines, [Worksheet, :uchar], :void
|
1312
|
+
|
1313
|
+
# @method worksheet_center_horizontally(worksheet)
|
1314
|
+
# @param [Worksheet] worksheet
|
1315
|
+
# @return [nil]
|
1316
|
+
# @scope class
|
1317
|
+
attach_function :worksheet_center_horizontally, :worksheet_center_horizontally, [Worksheet], :void
|
1318
|
+
|
1319
|
+
# @method worksheet_center_vertically(worksheet)
|
1320
|
+
# @param [Worksheet] worksheet
|
1321
|
+
# @return [nil]
|
1322
|
+
# @scope class
|
1323
|
+
attach_function :worksheet_center_vertically, :worksheet_center_vertically, [Worksheet], :void
|
1324
|
+
|
1325
|
+
# @method worksheet_print_row_col_headers(worksheet)
|
1326
|
+
# @param [Worksheet] worksheet
|
1327
|
+
# @return [nil]
|
1328
|
+
# @scope class
|
1329
|
+
attach_function :worksheet_print_row_col_headers, :worksheet_print_row_col_headers, [Worksheet], :void
|
1330
|
+
|
1331
|
+
# @method worksheet_repeat_rows(worksheet, first_row, last_row)
|
1332
|
+
# @param [Worksheet] worksheet
|
1333
|
+
# @param [Integer] first_row
|
1334
|
+
# @param [Integer] last_row
|
1335
|
+
# @return [Symbol from _enum_error_]
|
1336
|
+
# @scope class
|
1337
|
+
attach_function :worksheet_repeat_rows, :worksheet_repeat_rows, [Worksheet, :uint, :uint], :error
|
1338
|
+
|
1339
|
+
# @method worksheet_repeat_columns(worksheet, first_col, last_col)
|
1340
|
+
# @param [Worksheet] worksheet
|
1341
|
+
# @param [Integer] first_col
|
1342
|
+
# @param [Integer] last_col
|
1343
|
+
# @return [Symbol from _enum_error_]
|
1344
|
+
# @scope class
|
1345
|
+
attach_function :worksheet_repeat_columns, :worksheet_repeat_columns, [Worksheet, :ushort, :ushort], :error
|
1346
|
+
|
1347
|
+
# @method worksheet_print_area(worksheet, first_row, first_col, last_row, last_col)
|
1348
|
+
# @param [Worksheet] worksheet
|
1349
|
+
# @param [Integer] first_row
|
1350
|
+
# @param [Integer] first_col
|
1351
|
+
# @param [Integer] last_row
|
1352
|
+
# @param [Integer] last_col
|
1353
|
+
# @return [Symbol from _enum_error_]
|
1354
|
+
# @scope class
|
1355
|
+
attach_function :worksheet_print_area, :worksheet_print_area, [Worksheet, :uint, :ushort, :uint, :ushort], :error
|
1356
|
+
|
1357
|
+
# @method worksheet_fit_to_pages(worksheet, width, height)
|
1358
|
+
# @param [Worksheet] worksheet
|
1359
|
+
# @param [Integer] width
|
1360
|
+
# @param [Integer] height
|
1361
|
+
# @return [nil]
|
1362
|
+
# @scope class
|
1363
|
+
attach_function :worksheet_fit_to_pages, :worksheet_fit_to_pages, [Worksheet, :ushort, :ushort], :void
|
1364
|
+
|
1365
|
+
# @method worksheet_set_start_page(worksheet, start_page)
|
1366
|
+
# @param [Worksheet] worksheet
|
1367
|
+
# @param [Integer] start_page
|
1368
|
+
# @return [nil]
|
1369
|
+
# @scope class
|
1370
|
+
attach_function :worksheet_set_start_page, :worksheet_set_start_page, [Worksheet, :ushort], :void
|
1371
|
+
|
1372
|
+
# @method worksheet_set_print_scale(worksheet, scale)
|
1373
|
+
# @param [Worksheet] worksheet
|
1374
|
+
# @param [Integer] scale
|
1375
|
+
# @return [nil]
|
1376
|
+
# @scope class
|
1377
|
+
attach_function :worksheet_set_print_scale, :worksheet_set_print_scale, [Worksheet, :ushort], :void
|
1378
|
+
|
1379
|
+
# @method worksheet_right_to_left(worksheet)
|
1380
|
+
# @param [Worksheet] worksheet
|
1381
|
+
# @return [nil]
|
1382
|
+
# @scope class
|
1383
|
+
attach_function :worksheet_right_to_left, :worksheet_right_to_left, [Worksheet], :void
|
1384
|
+
|
1385
|
+
# @method worksheet_hide_zero(worksheet)
|
1386
|
+
# @param [Worksheet] worksheet
|
1387
|
+
# @return [nil]
|
1388
|
+
# @scope class
|
1389
|
+
attach_function :worksheet_hide_zero, :worksheet_hide_zero, [Worksheet], :void
|
1390
|
+
|
1391
|
+
# @method worksheet_set_tab_color(worksheet, color)
|
1392
|
+
# @param [Worksheet] worksheet
|
1393
|
+
# @param [Integer] color
|
1394
|
+
# @return [nil]
|
1395
|
+
# @scope class
|
1396
|
+
attach_function :worksheet_set_tab_color, :worksheet_set_tab_color, [Worksheet, :int], :void
|
1397
|
+
|
1398
|
+
# @method worksheet_protect(worksheet, password, options)
|
1399
|
+
# @param [Worksheet] worksheet
|
1400
|
+
# @param [String] password
|
1401
|
+
# @param [Protection] options
|
1402
|
+
# @return [nil]
|
1403
|
+
# @scope class
|
1404
|
+
attach_function :worksheet_protect, :worksheet_protect, [Worksheet, :string, Protection], :void
|
1405
|
+
|
1406
|
+
# @method worksheet_set_default_row(worksheet, height, hide_unused_rows)
|
1407
|
+
# @param [Worksheet] worksheet
|
1408
|
+
# @param [Float] height
|
1409
|
+
# @param [Integer] hide_unused_rows
|
1410
|
+
# @return [nil]
|
1411
|
+
# @scope class
|
1412
|
+
attach_function :worksheet_set_default_row, :worksheet_set_default_row, [Worksheet, :double, :uchar], :void
|
1413
|
+
|
1414
|
+
# @method worksheet_new(init_data)
|
1415
|
+
# @param [WorksheetInitData] init_data
|
1416
|
+
# @return [Worksheet]
|
1417
|
+
# @scope class
|
1418
|
+
attach_function :worksheet_new, :lxw_worksheet_new, [WorksheetInitData], Worksheet
|
1419
|
+
|
1420
|
+
# @method worksheet_free(worksheet)
|
1421
|
+
# @param [Worksheet] worksheet
|
1422
|
+
# @return [nil]
|
1423
|
+
# @scope class
|
1424
|
+
attach_function :worksheet_free, :lxw_worksheet_free, [Worksheet], :void
|
1425
|
+
|
1426
|
+
# @method worksheet_assemble_xml_file(worksheet)
|
1427
|
+
# @param [Worksheet] worksheet
|
1428
|
+
# @return [nil]
|
1429
|
+
# @scope class
|
1430
|
+
attach_function :worksheet_assemble_xml_file, :lxw_worksheet_assemble_xml_file, [Worksheet], :void
|
1431
|
+
|
1432
|
+
# @method worksheet_write_single_row(worksheet)
|
1433
|
+
# @param [Worksheet] worksheet
|
1434
|
+
# @return [nil]
|
1435
|
+
# @scope class
|
1436
|
+
attach_function :worksheet_write_single_row, :lxw_worksheet_write_single_row, [Worksheet], :void
|
1437
|
+
|
1438
|
+
# @method worksheet_prepare_image(worksheet, image_ref_id, drawing_id, image_data)
|
1439
|
+
# @param [Worksheet] worksheet
|
1440
|
+
# @param [Integer] image_ref_id
|
1441
|
+
# @param [Integer] drawing_id
|
1442
|
+
# @param [ImageOptions] image_data
|
1443
|
+
# @return [nil]
|
1444
|
+
# @scope class
|
1445
|
+
attach_function :worksheet_prepare_image, :lxw_worksheet_prepare_image, [Worksheet, :ushort, :ushort, ImageOptions], :void
|
1446
|
+
|
1447
|
+
# @method worksheet_prepare_chart(worksheet, chart_ref_id, drawing_id, image_data)
|
1448
|
+
# @param [Worksheet] worksheet
|
1449
|
+
# @param [Integer] chart_ref_id
|
1450
|
+
# @param [Integer] drawing_id
|
1451
|
+
# @param [ImageOptions] image_data
|
1452
|
+
# @return [nil]
|
1453
|
+
# @scope class
|
1454
|
+
attach_function :worksheet_prepare_chart, :lxw_worksheet_prepare_chart, [Worksheet, :ushort, :ushort, ImageOptions], :void
|
1455
|
+
|
1456
|
+
# @method worksheet_find_row(worksheet, row_num)
|
1457
|
+
# @param [Worksheet] worksheet
|
1458
|
+
# @param [Integer] row_num
|
1459
|
+
# @return [Row]
|
1460
|
+
# @scope class
|
1461
|
+
attach_function :worksheet_find_row, :lxw_worksheet_find_row, [Worksheet, :uint], Row
|
1462
|
+
|
1463
|
+
# @method worksheet_find_cell(row, col_num)
|
1464
|
+
# @param [Row] row
|
1465
|
+
# @param [Integer] col_num
|
1466
|
+
# @return [Cell]
|
1467
|
+
# @scope class
|
1468
|
+
attach_function :worksheet_find_cell, :lxw_worksheet_find_cell, [Row, :ushort], Cell
|
1469
|
+
|
1470
|
+
# = Fields:
|
1471
|
+
# :rbe_left ::
|
1472
|
+
# (FFI::Pointer(*WorksheetName))
|
1473
|
+
# :rbe_right ::
|
1474
|
+
# (FFI::Pointer(*WorksheetName))
|
1475
|
+
# :rbe_parent ::
|
1476
|
+
# (FFI::Pointer(*WorksheetName))
|
1477
|
+
# :rbe_color ::
|
1478
|
+
# (Integer)
|
1479
|
+
class WorksheetNameTreePointers < FFI::Struct
|
1480
|
+
layout :rbe_left, :pointer,
|
1481
|
+
:rbe_right, :pointer,
|
1482
|
+
:rbe_parent, :pointer,
|
1483
|
+
:rbe_color, :int
|
1484
|
+
end
|
1485
|
+
|
1486
|
+
# = Fields:
|
1487
|
+
# :name ::
|
1488
|
+
# (String)
|
1489
|
+
# :worksheet ::
|
1490
|
+
# (Worksheet)
|
1491
|
+
# :tree_pointers ::
|
1492
|
+
# (WorksheetNameTreePointers)
|
1493
|
+
class WorksheetName < FFI::Struct
|
1494
|
+
layout :name, :pointer,
|
1495
|
+
:worksheet, Worksheet,
|
1496
|
+
:tree_pointers, WorksheetNameTreePointers.by_value
|
1497
|
+
end
|
1498
|
+
|
1499
|
+
# = Fields:
|
1500
|
+
# :rbh_root ::
|
1501
|
+
# (FFI::Pointer(*WorksheetName))
|
1502
|
+
class WorksheetNames < FFI::Struct
|
1503
|
+
layout :rbh_root, WorksheetName
|
1504
|
+
end
|
1505
|
+
|
1506
|
+
# = Fields:
|
1507
|
+
# :stqh_first ::
|
1508
|
+
# (Worksheet)
|
1509
|
+
# :stqh_last ::
|
1510
|
+
# (FFI::Pointer(**Worksheet))
|
1511
|
+
class Worksheets < FFI::Struct
|
1512
|
+
layout :stqh_first, Worksheet.ptr,
|
1513
|
+
:stqh_last, :pointer
|
1514
|
+
end
|
1515
|
+
end
|