Skip to content

Commit 6db8d4f

Browse files
committed
Set outline level for rows/columns
1 parent e7eb018 commit 6db8d4f

10 files changed

+368
-57
lines changed

include/help.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,6 @@
1818
unsigned int file_exists(const char *path);
1919
unsigned int directory_exists(const char *path);
2020
zend_long date_double_to_timestamp(double value);
21+
lxw_row_col_options* default_row_col_options();
2122

2223
#endif //PHP_EXT_XLS_EXPORT_HELP_H

include/xlswriter.h

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ typedef struct _vtiful_xls_object {
111111
zend_long write_line;
112112
xls_resource_format_t format_ptr;
113113
xls_resource_formats_cache_t formats_cache_ptr;
114+
lxw_row_col_options *row_options;
114115
zend_object zo;
115116
} xls_object;
116117

@@ -303,6 +304,11 @@ static inline void php_vtiful_close_resource(zend_object *obj) {
303304
zend_hash_destroy(intern->formats_cache_ptr.maps);
304305
}
305306

307+
if (intern->row_options != NULL) {
308+
efree(intern->row_options);
309+
intern->row_options = NULL;
310+
}
311+
306312
#ifdef ENABLE_READER
307313
if (intern->read_ptr.sheet_t != NULL) {
308314
xlsxioread_sheet_close(intern->read_ptr.sheet_t);
@@ -349,14 +355,14 @@ void printed_direction(xls_resource_write_t *res, unsigned int direction);
349355
void xls_file_path(zend_string *file_name, zval *dir_path, zval *file_path);
350356
void freeze_panes(xls_resource_write_t *res, zend_long row, zend_long column);
351357
void margins(xls_resource_write_t *res, double left, double right, double top, double bottom);
352-
void set_row(zend_string *range, double height, xls_resource_write_t *res, lxw_format *format);
358+
void set_row(zend_string *range, double height, xls_resource_write_t *res, lxw_format *format, lxw_row_col_options *user_options);
353359
void validation(xls_resource_write_t *res, zend_string *range, lxw_data_validation *validation);
354-
void set_column(zend_string *range, double width, xls_resource_write_t *res, lxw_format *format);
360+
void set_column(zend_string *range, double width, xls_resource_write_t *res, lxw_format *format, lxw_row_col_options *user_options);
355361
void merge_cells(zend_string *range, zval *value, xls_resource_write_t *res, lxw_format *format);
356362
void comment_writer(zend_string *comment, zend_long row, zend_long columns, xls_resource_write_t *res);
357363
void call_object_method(zval *object, const char *function_name, uint32_t param_count, zval *params, zval *ret_val);
358364
void chart_writer(zend_long row, zend_long columns, xls_resource_chart_t *chart_resource, xls_resource_write_t *res);
359-
void worksheet_set_rows(lxw_row_t start, lxw_row_t end, double height, xls_resource_write_t *res, lxw_format *format);
365+
void worksheet_set_rows(lxw_row_t start, lxw_row_t end, double height, xls_resource_write_t *res, lxw_format *format, lxw_row_col_options *user_options);
360366
void image_writer(zval *value, zend_long row, zend_long columns, double width, double height, xls_resource_write_t *res);
361367
void formula_writer(zend_string *value, zend_long row, zend_long columns, xls_resource_write_t *res, lxw_format *format);
362368
void type_writer(zval *value, zend_long row, zend_long columns, xls_resource_write_t *res, zend_string *format, lxw_format *format_handle);

kernel/excel.c

Lines changed: 127 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ PHP_VTIFUL_API zend_object *vtiful_xls_objects_new(zend_class_entry *ce)
4343

4444
intern->format_ptr.format = NULL;
4545
intern->write_ptr.workbook = NULL;
46+
intern->row_options = NULL;
4647

4748
intern->formats_cache_ptr.maps = formats_cache_ht;
4849

@@ -187,16 +188,22 @@ ZEND_BEGIN_ARG_INFO_EX(xls_merge_cells_arginfo, 0, 0, 2)
187188
ZEND_ARG_INFO(0, format_handle)
188189
ZEND_END_ARG_INFO()
189190

190-
ZEND_BEGIN_ARG_INFO_EX(xls_set_column_arginfo, 0, 0, 3)
191-
ZEND_ARG_INFO(0, format_handle)
191+
ZEND_BEGIN_ARG_INFO_EX(xls_set_column_arginfo, 0, 0, 2)
192192
ZEND_ARG_INFO(0, range)
193193
ZEND_ARG_INFO(0, width)
194+
ZEND_ARG_INFO(0, format_handle)
195+
ZEND_ARG_INFO(0, level)
196+
ZEND_ARG_INFO(0, collapsed)
197+
ZEND_ARG_INFO(0, hidden)
194198
ZEND_END_ARG_INFO()
195199

196-
ZEND_BEGIN_ARG_INFO_EX(xls_set_row_arginfo, 0, 0, 3)
197-
ZEND_ARG_INFO(0, format_handle)
200+
ZEND_BEGIN_ARG_INFO_EX(xls_set_row_arginfo, 0, 0, 2)
198201
ZEND_ARG_INFO(0, range)
199202
ZEND_ARG_INFO(0, height)
203+
ZEND_ARG_INFO(0, format_handle)
204+
ZEND_ARG_INFO(0, level)
205+
ZEND_ARG_INFO(0, collapsed)
206+
ZEND_ARG_INFO(0, hidden)
200207
ZEND_END_ARG_INFO()
201208

202209
ZEND_BEGIN_ARG_INFO_EX(xls_set_curr_line_arginfo, 0, 0, 1)
@@ -221,6 +228,12 @@ ZEND_BEGIN_ARG_INFO_EX(xls_set_global_format, 0, 0, 1)
221228
ZEND_ARG_INFO(0, format_handle)
222229
ZEND_END_ARG_INFO()
223230

231+
ZEND_BEGIN_ARG_INFO_EX(xls_set_default_row_options_arginfo, 0, 0, 0)
232+
ZEND_ARG_INFO(0, level)
233+
ZEND_ARG_INFO(0, collapsed)
234+
ZEND_ARG_INFO(0, hidden)
235+
ZEND_END_ARG_INFO()
236+
224237
ZEND_BEGIN_ARG_INFO_EX(xls_open_file_arginfo, 0, 0, 1)
225238
ZEND_ARG_INFO(0, zs_file_name)
226239
ZEND_END_ARG_INFO()
@@ -655,6 +668,11 @@ PHP_METHOD(vtiful_xls, data)
655668
continue;
656669
}
657670

671+
if (obj->row_options != NULL) {
672+
WORKSHEET_WRITER_EXCEPTION(
673+
worksheet_set_row_opt(obj->write_ptr.worksheet, SHEET_CURRENT_LINE(obj), LXW_DEF_ROW_HEIGHT, NULL, obj->row_options));
674+
}
675+
658676
column_index = 0;
659677

660678
ZEND_HASH_FOREACH_KEY_VAL_IND(Z_ARRVAL_P(data_r_value), index, key, data) {
@@ -1020,64 +1038,92 @@ PHP_METHOD(vtiful_xls, mergeCells)
10201038
}
10211039
/* }}} */
10221040

1023-
/** {{{ \Vtiful\Kernel\Excel::setColumn(resource $format, string $range [, int $width])
1041+
/** {{{ \Vtiful\Kernel\Excel::setColumn(string $range, float $width, resource $format = null, int $level = 0, bool $collapsed = false, bool $hidden = false)
10241042
*/
10251043
PHP_METHOD(vtiful_xls, setColumn)
10261044
{
10271045
zval *format_handle = NULL;
10281046
zend_string *range = NULL;
1029-
1047+
zend_long level = 0;
1048+
zend_bool collapsed = 0;
1049+
zend_bool hidden = 0;
10301050
double width = 0;
1031-
int argc = ZEND_NUM_ARGS();
10321051

1033-
ZEND_PARSE_PARAMETERS_START(2, 3)
1052+
ZEND_PARSE_PARAMETERS_START(2, 6)
10341053
Z_PARAM_STR(range)
10351054
Z_PARAM_DOUBLE(width)
10361055
Z_PARAM_OPTIONAL
10371056
Z_PARAM_RESOURCE_OR_NULL(format_handle)
1057+
Z_PARAM_LONG_OR_NULL(level, _dummy)
1058+
Z_PARAM_BOOL_OR_NULL(collapsed, _dummy)
1059+
Z_PARAM_BOOL_OR_NULL(hidden, _dummy)
10381060
ZEND_PARSE_PARAMETERS_END();
10391061

10401062
ZVAL_COPY(return_value, getThis());
10411063

1064+
if (level < 0 || level > 7) {
1065+
LXW_WARN_FORMAT1("outline level must be in 0..7 range, '%d' given.", level);
1066+
level = 0;
1067+
}
1068+
10421069
xls_object *obj = Z_XLS_P(getThis());
10431070

10441071
WORKBOOK_NOT_INITIALIZED(obj);
10451072

1046-
if (argc == 3 && format_handle != NULL) {
1047-
set_column(range, width, &obj->write_ptr, zval_get_format(format_handle));
1073+
lxw_row_col_options* options = default_row_col_options();
1074+
options->level = level;
1075+
options->collapsed = collapsed;
1076+
options->hidden = hidden;
1077+
1078+
if (format_handle != NULL) {
1079+
set_column(range, width, &obj->write_ptr, zval_get_format(format_handle), options);
10481080
} else {
1049-
set_column(range, width, &obj->write_ptr, NULL);
1081+
set_column(range, width, &obj->write_ptr, NULL, options);
10501082
}
10511083
}
10521084
/* }}} */
10531085

1054-
/** {{{ \Vtiful\Kernel\Excel::setRow(resource $format, string $range [, int $heitght])
1086+
/** {{{ \Vtiful\Kernel\Excel::setRow(string $range, float $height, resource $format = null, int $level = 0, bool $collapsed = false, bool $hidden = false)
10551087
*/
10561088
PHP_METHOD(vtiful_xls, setRow)
10571089
{
10581090
zval *format_handle = NULL;
10591091
zend_string *range = NULL;
1060-
1092+
zend_long level = 0;
1093+
zend_bool collapsed = 0;
1094+
zend_bool hidden = 0;
10611095
double height = 0;
1062-
int argc = ZEND_NUM_ARGS();
10631096

1064-
ZEND_PARSE_PARAMETERS_START(2, 3)
1097+
ZEND_PARSE_PARAMETERS_START(2, 6)
10651098
Z_PARAM_STR(range)
10661099
Z_PARAM_DOUBLE(height)
10671100
Z_PARAM_OPTIONAL
10681101
Z_PARAM_RESOURCE_OR_NULL(format_handle)
1102+
Z_PARAM_LONG_OR_NULL(level, _dummy)
1103+
Z_PARAM_BOOL_OR_NULL(collapsed, _dummy)
1104+
Z_PARAM_BOOL_OR_NULL(hidden, _dummy)
10691105
ZEND_PARSE_PARAMETERS_END();
10701106

10711107
ZVAL_COPY(return_value, getThis());
10721108

1109+
if (level < 0 || level > 7) {
1110+
LXW_WARN_FORMAT1("outline level must be in 0..7 range, '%d' given.", level);
1111+
level = 0;
1112+
}
1113+
10731114
xls_object *obj = Z_XLS_P(getThis());
10741115

10751116
WORKBOOK_NOT_INITIALIZED(obj);
10761117

1077-
if (argc == 3 && format_handle != NULL) {
1078-
set_row(range, height, &obj->write_ptr, zval_get_format(format_handle));
1118+
lxw_row_col_options* options = default_row_col_options();
1119+
options->level = level;
1120+
options->collapsed = collapsed;
1121+
options->hidden = hidden;
1122+
1123+
if (format_handle != NULL) {
1124+
set_row(range, height, &obj->write_ptr, zval_get_format(format_handle), options);
10791125
} else {
1080-
set_row(range, height, &obj->write_ptr, NULL);
1126+
set_row(range, height, &obj->write_ptr, NULL, options);
10811127
}
10821128
}
10831129
/* }}} */
@@ -1140,6 +1186,39 @@ PHP_METHOD(vtiful_xls, defaultFormat)
11401186
}
11411187
/* }}} */
11421188

1189+
/** {{{ \Vtiful\Kernel\Excel::defaultRowOptions(int $level = 0, bool $collapsed = false, bool $hidden = false)
1190+
*/
1191+
PHP_METHOD(vtiful_xls, defaultRowOptions)
1192+
{
1193+
zend_long level = 0;
1194+
zend_bool collapsed = 0;
1195+
zend_bool hidden = 0;
1196+
1197+
ZEND_PARSE_PARAMETERS_START(0, 3)
1198+
Z_PARAM_OPTIONAL
1199+
Z_PARAM_LONG_OR_NULL(level, _dummy)
1200+
Z_PARAM_BOOL_OR_NULL(collapsed, _dummy)
1201+
Z_PARAM_BOOL_OR_NULL(hidden, _dummy)
1202+
ZEND_PARSE_PARAMETERS_END();
1203+
1204+
ZVAL_COPY(return_value, getThis());
1205+
1206+
if (level < 0 || level > 7) {
1207+
LXW_WARN_FORMAT1("outline level must be in 0..7 range, '%d' given.", level);
1208+
level = 0;
1209+
}
1210+
1211+
xls_object *obj = Z_XLS_P(getThis());
1212+
1213+
if (obj->row_options == NULL) {
1214+
obj->row_options = default_row_col_options();
1215+
}
1216+
obj->row_options->level = level;
1217+
obj->row_options->collapsed = collapsed;
1218+
obj->row_options->hidden = hidden;
1219+
}
1220+
/* }}} */
1221+
11431222
/** {{{ \Vtiful\Kernel\Excel::freezePanes(int $row, int $column)
11441223
*/
11451224
PHP_METHOD(vtiful_xls, freezePanes)
@@ -1697,34 +1776,36 @@ PHP_METHOD(vtiful_xls, nextCellCallback)
16971776
/** {{{ xls_methods
16981777
*/
16991778
zend_function_entry xls_methods[] = {
1700-
PHP_ME(vtiful_xls, __construct, xls_construct_arginfo, ZEND_ACC_PUBLIC)
1701-
PHP_ME(vtiful_xls, close, xls_close_arginfo, ZEND_ACC_PUBLIC)
1702-
PHP_ME(vtiful_xls, fileName, xls_file_name_arginfo, ZEND_ACC_PUBLIC)
1703-
PHP_ME(vtiful_xls, addSheet, xls_file_add_sheet, ZEND_ACC_PUBLIC)
1704-
PHP_ME(vtiful_xls, existSheet, xls_file_exist_sheet, ZEND_ACC_PUBLIC)
1705-
PHP_ME(vtiful_xls, checkoutSheet, xls_file_checkout_sheet, ZEND_ACC_PUBLIC)
1706-
PHP_ME(vtiful_xls, activateSheet, xls_file_activate_sheet, ZEND_ACC_PUBLIC)
1707-
PHP_ME(vtiful_xls, constMemory, xls_const_memory_arginfo, ZEND_ACC_PUBLIC)
1708-
PHP_ME(vtiful_xls, header, xls_header_arginfo, ZEND_ACC_PUBLIC)
1709-
PHP_ME(vtiful_xls, data, xls_data_arginfo, ZEND_ACC_PUBLIC)
1710-
PHP_ME(vtiful_xls, output, xls_output_arginfo, ZEND_ACC_PUBLIC)
1711-
PHP_ME(vtiful_xls, getHandle, xls_get_handle_arginfo, ZEND_ACC_PUBLIC)
1712-
PHP_ME(vtiful_xls, autoFilter, xls_auto_filter_arginfo, ZEND_ACC_PUBLIC)
1713-
PHP_ME(vtiful_xls, insertText, xls_insert_text_arginfo, ZEND_ACC_PUBLIC)
1714-
PHP_ME(vtiful_xls, insertRichText, xls_insert_rtext_arginfo, ZEND_ACC_PUBLIC)
1715-
PHP_ME(vtiful_xls, insertDate, xls_insert_date_arginfo, ZEND_ACC_PUBLIC)
1716-
PHP_ME(vtiful_xls, insertChart, xls_insert_chart_arginfo, ZEND_ACC_PUBLIC)
1717-
PHP_ME(vtiful_xls, insertUrl, xls_insert_url_arginfo, ZEND_ACC_PUBLIC)
1718-
PHP_ME(vtiful_xls, insertImage, xls_insert_image_arginfo, ZEND_ACC_PUBLIC)
1719-
PHP_ME(vtiful_xls, insertFormula, xls_insert_formula_arginfo, ZEND_ACC_PUBLIC)
1720-
PHP_ME(vtiful_xls, insertComment, xls_insert_comment_arginfo, ZEND_ACC_PUBLIC)
1721-
PHP_ME(vtiful_xls, showComment, xls_show_comment_arginfo, ZEND_ACC_PUBLIC)
1722-
PHP_ME(vtiful_xls, mergeCells, xls_merge_cells_arginfo, ZEND_ACC_PUBLIC)
1723-
PHP_ME(vtiful_xls, setColumn, xls_set_column_arginfo, ZEND_ACC_PUBLIC)
1724-
PHP_ME(vtiful_xls, setRow, xls_set_row_arginfo, ZEND_ACC_PUBLIC)
1725-
PHP_ME(vtiful_xls, getCurrentLine, xls_get_curr_line_arginfo, ZEND_ACC_PUBLIC)
1726-
PHP_ME(vtiful_xls, setCurrentLine, xls_set_curr_line_arginfo, ZEND_ACC_PUBLIC)
1727-
PHP_ME(vtiful_xls, defaultFormat, xls_set_global_format, ZEND_ACC_PUBLIC)
1779+
PHP_ME(vtiful_xls, __construct, xls_construct_arginfo, ZEND_ACC_PUBLIC)
1780+
PHP_ME(vtiful_xls, close, xls_close_arginfo, ZEND_ACC_PUBLIC)
1781+
PHP_ME(vtiful_xls, fileName, xls_file_name_arginfo, ZEND_ACC_PUBLIC)
1782+
PHP_ME(vtiful_xls, addSheet, xls_file_add_sheet, ZEND_ACC_PUBLIC)
1783+
PHP_ME(vtiful_xls, existSheet, xls_file_exist_sheet, ZEND_ACC_PUBLIC)
1784+
PHP_ME(vtiful_xls, checkoutSheet, xls_file_checkout_sheet, ZEND_ACC_PUBLIC)
1785+
PHP_ME(vtiful_xls, activateSheet, xls_file_activate_sheet, ZEND_ACC_PUBLIC)
1786+
PHP_ME(vtiful_xls, constMemory, xls_const_memory_arginfo, ZEND_ACC_PUBLIC)
1787+
PHP_ME(vtiful_xls, header, xls_header_arginfo, ZEND_ACC_PUBLIC)
1788+
PHP_ME(vtiful_xls, data, xls_data_arginfo, ZEND_ACC_PUBLIC)
1789+
PHP_ME(vtiful_xls, output, xls_output_arginfo, ZEND_ACC_PUBLIC)
1790+
PHP_ME(vtiful_xls, getHandle, xls_get_handle_arginfo, ZEND_ACC_PUBLIC)
1791+
PHP_ME(vtiful_xls, autoFilter, xls_auto_filter_arginfo, ZEND_ACC_PUBLIC)
1792+
PHP_ME(vtiful_xls, insertText, xls_insert_text_arginfo, ZEND_ACC_PUBLIC)
1793+
PHP_ME(vtiful_xls, insertRichText, xls_insert_rtext_arginfo, ZEND_ACC_PUBLIC)
1794+
PHP_ME(vtiful_xls, insertDate, xls_insert_date_arginfo, ZEND_ACC_PUBLIC)
1795+
PHP_ME(vtiful_xls, insertChart, xls_insert_chart_arginfo, ZEND_ACC_PUBLIC)
1796+
PHP_ME(vtiful_xls, insertUrl, xls_insert_url_arginfo, ZEND_ACC_PUBLIC)
1797+
PHP_ME(vtiful_xls, insertImage, xls_insert_image_arginfo, ZEND_ACC_PUBLIC)
1798+
PHP_ME(vtiful_xls, insertFormula, xls_insert_formula_arginfo, ZEND_ACC_PUBLIC)
1799+
PHP_ME(vtiful_xls, insertComment, xls_insert_comment_arginfo, ZEND_ACC_PUBLIC)
1800+
PHP_ME(vtiful_xls, showComment, xls_show_comment_arginfo, ZEND_ACC_PUBLIC)
1801+
PHP_ME(vtiful_xls, mergeCells, xls_merge_cells_arginfo, ZEND_ACC_PUBLIC)
1802+
PHP_ME(vtiful_xls, setColumn, xls_set_column_arginfo, ZEND_ACC_PUBLIC)
1803+
PHP_ME(vtiful_xls, setRow, xls_set_row_arginfo, ZEND_ACC_PUBLIC)
1804+
PHP_ME(vtiful_xls, getCurrentLine, xls_get_curr_line_arginfo, ZEND_ACC_PUBLIC)
1805+
PHP_ME(vtiful_xls, setCurrentLine, xls_set_curr_line_arginfo, ZEND_ACC_PUBLIC)
1806+
PHP_ME(vtiful_xls, defaultFormat, xls_set_global_format, ZEND_ACC_PUBLIC)
1807+
PHP_ME(vtiful_xls, defaultRowOptions, xls_set_default_row_options_arginfo, ZEND_ACC_PUBLIC)
1808+
17281809
PHP_ME(vtiful_xls, freezePanes, xls_freeze_panes_arginfo, ZEND_ACC_PUBLIC)
17291810

17301811
PHP_ME(vtiful_xls, protection, xls_protection_arginfo, ZEND_ACC_PUBLIC)

kernel/help.c

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,4 +104,11 @@ unsigned int file_exists(const char *path) {
104104
zval_ptr_dtor(&file_exists);
105105
return XLSWRITER_TRUE;
106106
}
107-
/* }}} */
107+
/* }}} */
108+
109+
lxw_row_col_options* default_row_col_options() {
110+
size_t obj_size = sizeof(lxw_row_col_options);
111+
void *obj = emalloc(obj_size);
112+
memset(obj, 0, obj_size);
113+
return obj;
114+
}

kernel/write.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -296,9 +296,9 @@ void merge_cells(zend_string *range, zval *value, xls_resource_write_t *res, lxw
296296
/*
297297
* Set column format
298298
*/
299-
void set_column(zend_string *range, double width, xls_resource_write_t *res, lxw_format *format)
299+
void set_column(zend_string *range, double width, xls_resource_write_t *res, lxw_format *format, lxw_row_col_options *user_options)
300300
{
301-
int error = worksheet_set_column(res->worksheet, COLS(ZSTR_VAL(range)), width, format);
301+
int error = worksheet_set_column_opt(res->worksheet, COLS(ZSTR_VAL(range)), width, format, user_options);
302302

303303
// Cells that have been placed cannot be modified using optimization mode
304304
WORKSHEET_INDEX_OUT_OF_CHANGE_IN_OPTIMIZE_EXCEPTION(res, error)
@@ -310,14 +310,14 @@ void set_column(zend_string *range, double width, xls_resource_write_t *res, lxw
310310
/*
311311
* Set row format
312312
*/
313-
void set_row(zend_string *range, double height, xls_resource_write_t *res, lxw_format *format)
313+
void set_row(zend_string *range, double height, xls_resource_write_t *res, lxw_format *format, lxw_row_col_options *user_options)
314314
{
315315
char *rows = ZSTR_VAL(range);
316316

317317
if (strchr(rows, ':')) {
318-
worksheet_set_rows(ROWS(rows), height, res, format);
318+
worksheet_set_rows(ROWS(rows), height, res, format, user_options);
319319
} else {
320-
int error = worksheet_set_row(res->worksheet, ROW(rows), height, format);
320+
int error = worksheet_set_row_opt(res->worksheet, ROW(rows), height, format, user_options);
321321

322322
// Cells that have been placed cannot be modified using optimization mode
323323
WORKSHEET_INDEX_OUT_OF_CHANGE_IN_OPTIMIZE_EXCEPTION(res, error)
@@ -344,10 +344,10 @@ void validation(xls_resource_write_t *res, zend_string *range, lxw_data_validati
344344
/*
345345
* Set rows format
346346
*/
347-
void worksheet_set_rows(lxw_row_t start, lxw_row_t end, double height, xls_resource_write_t *res, lxw_format *format)
347+
void worksheet_set_rows(lxw_row_t start, lxw_row_t end, double height, xls_resource_write_t *res, lxw_format *format, lxw_row_col_options *user_options)
348348
{
349349
while (1) {
350-
worksheet_set_row(res->worksheet, end, height, format);
350+
worksheet_set_row_opt(res->worksheet, end, height, format, user_options);
351351
if (end == start)
352352
break;
353353
end--;

0 commit comments

Comments
 (0)