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.
@@ -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