fast_excel 0.1.7 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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