Commit graph

134 commits

Author SHA1 Message Date
John McNamara
c07d1f2095 package: update copyright year 2026-01-06 20:29:26 +00:00
John McNamara
f0647157ba datetime: add validation for date/time parameters
Added validation of lxw_datetime fields to ensure that they are
within Excel's allowable ranges.

Closes #491
2025-10-31 08:37:11 +00:00
John McNamara
fdcacc14bc workbook: add support for 1904 date epoch
Add, or rather make public, support for the Excel 1904 date
epoch.

See #483
2025-06-29 23:41:01 +01:00
John McNamara
eab4b65608 memory: fix invalid string array indexes
See #482
2025-06-03 00:20:16 +01:00
John McNamara
1beeb60d04 workbook: add set_size() method
Request #472
2025-02-14 20:28:57 +00:00
John McNamara
f29cf40d38 package: update copyright year 2025-02-11 00:03:36 +00:00
John McNamara
6ccd70c372 utility: fix for pointer/value error
Closes #459
2024-10-24 19:54:58 +01:00
John McNamara
d9f2540080 worksheet: add initial embedded image support
Feature request #417
2024-07-30 00:44:54 +01:00
John McNamara
cf887d65ce package: update copyright year 2024-06-23 12:03:34 +01:00
John McNamara
c89c551221 worksheet: fix heap buffer overflows from empty strings
Closes #446
2024-05-24 07:39:43 +01:00
John McNamara
af0b03a8f0 workbook: fix buffer underflow in defined names
Closes #444
2024-05-16 00:53:08 +01:00
John McNamara
284b61ba0b workbook: add check for blank worksheet name
Issue #442
2024-05-09 08:20:23 +01:00
John McNamara
f6d73b0ae1 package: update copyright year 2024-02-26 18:47:32 +00:00
John McNamara
29355a0887 Upgrade ctest.h to latest version. 2023-09-25 23:43:06 +01:00
John McNamara
5625238848 Convert public char* to const char* for C++ compatibility. 2023-09-25 20:59:05 +01:00
John McNamara
d3efbdbbfe Fix worksheet password hashing algorithm for long passwords.
Replace/fix the worksheet protection password algorithm
so that is works correctly for strings over 24 chars.
2023-01-14 18:29:41 +00:00
John McNamara
5b6ba9fc9b Fix top/bottom10 conditional format for values other than 10.
Closes issue ##386
2022-12-11 18:30:47 +00:00
John McNamara
2ed6d94565 Fixes for Windows compilation warnings. 2022-02-23 23:20:35 +00:00
John McNamara
c0d12f3a5c Updated copyright year. 2022-01-16 20:22:27 +00:00
John McNamara
6d6d99eeaf Added support for worksheet tables.
Feature request #33
2021-08-19 22:54:59 +01:00
John McNamara
431f4839f9 Add filter rules for autofilters.
Feature request #254
2021-08-02 23:49:05 +01:00
John McNamara
9402191bc1 Fix for unixtime type size.
The size of thetime_h type used with worksheet_write_unixtime()
wasn't sufficient to represent the full range of Excel's dates.
The parameter in question has been extended to int64_t.

Issue #347
2021-07-27 17:28:10 +01:00
Sijmen J. Mulder
b2b7000c42 Respect LDFLAGS when linking tests
Otherwise it's not possible to link e.g. system minizip if it's outside
the default search paths.
2021-07-27 16:40:48 +01:00
John McNamara
bda599d033 Added optional third party dtoa library.
Added the optional Milo Yip DTOA library (emyg_dtoa) to avoid
issues where the standard sprintf() dtoa function changes output
based on locale settings. It is also 40-50% faster than the
standard dtoa for raw numeric data.

If you wish to use this third party library you can compile
libxlsxwriter with it by passing `USE_DTOA_LIBRARY=1` to
make. The USE_DOUBLE_FUNCTION build variable is no longer used.

Imported source from https://github.com/miloyip/dtoa-benchmark

Feature request #272
2021-07-12 23:09:52 +01:00
John McNamara
4fcdd7b26d Updated copyright year. 2021-07-01 23:57:09 +01:00
John McNamara
7f20142d47 Add extra unixtime test. 2021-07-01 23:25:54 +01:00
John McNamara
9b89841750 Add support for Unix datetimes. 2021-07-01 21:00:59 +01:00
John McNamara
412571bb92 Add build support for gcov coverage. 2021-06-06 20:09:21 +01:00
John McNamara
925a147fc1 Add support for using MD5 functions from OpenSSL.
Feature request #335
2021-05-27 23:35:59 +01:00
John McNamara
e478365508 Add initial support for dynamic arrays in formulas.
Feature request #327
2021-04-23 07:25:50 +01:00
John McNamara
e2795f601d Add support for pixel sizing of rows and columns.
Added support for pixel sizing in worksheet_set_row() and
worksheet_set_column() via new functions called
worksheet_set_row_pixels() and worksheet_set_column_pixels().
2021-04-15 19:53:01 +01:00
John McNamara
c718466194 Minor fix for ctest output. 2021-04-10 21:11:11 +01:00
John McNamara
c06101fcad Updated copyright year. 2021-01-13 21:25:35 +00:00
John McNamara
13aebf962e Made lxw_datetime_to_excel_date() function public. 2020-09-07 23:35:30 +01:00
John McNamara
4b6c45982c Added implicit include paths to unit tests.
Added implicit include paths to unit tests to avoid issues
when running paralled builds.
2020-09-07 10:56:11 +01:00
John McNamara
e3d4bcaf7c Added docs for conditional formatting.
Feature request #302
2020-09-05 21:17:39 +01:00
John McNamara
5d4a571105 Added support for conditional formatting.
Feature request #302
2020-08-30 21:06:48 +01:00
John McNamara
f23d2e905e Added style/format handling for conditional formatting.
Added style/format handling for conditional formatting. The
Actual conditional formatting hasn't been added yet to the
worksheet and those parts of the tests have been skipped, for now.
2020-08-22 14:38:49 +01:00
John McNamara
017001fc14 Added support for images in headers/footers. 2020-08-17 21:01:36 +01:00
John McNamara
f7dc5ba13b Added tests for worksheet range return values. 2020-08-03 23:39:18 +01:00
John McNamara
a0e6a362ba Removed LXW_ERROR_SHEETNAME_RESERVED warning.
Removed LXW_ERROR_SHEETNAME_RESERVED warning which was used with
the reserved worksheet name "History". However, this is an
allowed worksheet name in some Excel variants so the warning has
been turned into a documentation note instead.
2020-03-21 17:40:08 +00:00
John McNamara
139cd8cc41 Added support for object positioning.
Added support for setting the image or chart object_position
property to specify if they should be moved or sized with cell.

Issue #263
2020-01-19 11:23:58 +00:00
John McNamara
2849813f36 Updated copyright year. 2020-01-12 12:59:31 +00:00
John McNamara
85dfccd734 Added support for cell comments and options.
Issue #38
2020-01-07 23:27:04 +00:00
John McNamara
dcecc632d5 Added support for hyperlinks from images. 2019-12-15 00:11:44 +00:00
John McNamara
44bb2056e4 Initial working hyperlink style. 2019-12-10 00:10:13 +00:00
John McNamara
cb87c73a95 Initial support for adding macros to workbooks.
Initial support for adding macros extracted from existing xlsm
files to new xlsm files.

Issue #29 add_vba_project()
2019-06-16 15:46:09 +01:00
John McNamara
34290c1cab Add case insensitive worksheet name check.
Add case insensitive worksheet name check, in add_worksheet() and
in workbook_validate_sheet_name(). Ignores UTF-8 chars which may
contain upper/lowercase duplicates.

Closes #230
2019-06-07 21:28:08 +01:00
John McNamara
267a09a242 Added check for reserved worksheet name.
The worksheet name "History" is reserved by Excel.
2019-06-07 20:09:54 +01:00
John McNamara
ee18f0c4c0 Add error code for worksheet name with apostrophe.
Issue #223
2019-06-07 16:58:19 +01:00