From a7280e14f6aa25937f2a05953271b5f1db8a0518 Mon Sep 17 00:00:00 2001 From: vidy Date: Tue, 27 Aug 2024 17:27:50 +0800 Subject: [PATCH] Keep original behavior --- kernel/write.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/kernel/write.c b/kernel/write.c index 9d4c35d..d44b791 100644 --- a/kernel/write.c +++ b/kernel/write.c @@ -249,11 +249,13 @@ void chart_writer(zend_long row, zend_long columns, xls_resource_chart_t *chart_ */ void datetime_writer(lxw_datetime *datetime, zend_long row, zend_long columns, zend_string *format, xls_resource_write_t *res, lxw_format *format_handle) { - if (format_handle != NULL) { - format_set_num_format(format_handle, ZSTR_VAL(format)); + lxw_format *value_format = format_handle; + if (format_handle == NULL) { + value_format = workbook_add_format(res->workbook); } - - worksheet_write_datetime(res->worksheet, (lxw_row_t)row, (lxw_col_t)columns, datetime, format_handle); + + format_set_num_format(value_format, ZSTR_VAL(format)); + worksheet_write_datetime(res->worksheet, (lxw_row_t)row, (lxw_col_t)columns, datetime, value_format); } /* @@ -347,6 +349,7 @@ void set_row(zend_string *range, double height, xls_resource_write_t *res, lxw_f void validation(xls_resource_write_t *res, zend_string *range, lxw_data_validation *validation) { char *rangeStr = ZSTR_VAL(range); + if (strchr(rangeStr, ':')) { worksheet_data_validation_range(res->worksheet, RANGE(rangeStr), validation); } else {