Added
- XLSX password-to-open encryption and decryption using Office Agile encryption. Issue #3878 PR #4975 PR #4988
- Support for Excel sparklines (line, column, and win/loss) in Xlsx reader and writer. Issue #4941
- Read-only object model for Pivot Tables. Existing pivot tables in an Xlsx file are now parsed into
Worksheet\PivotTable\PivotTableobjects (name, location, source cache definition, and row/column/page/data field layout), accessible viaWorksheet::getPivotTableCollection()/getPivotTableByName(). Pivot tables (their tables, caches and records) are now also preserved through an Xlsx load/save round-trip instead of being silently dropped. Issue #4534
Changed
- Performance: avoid
Worksheet::getStyle()on everyCell::setValueExplicit()unless quote-prefix must change. On a dense 40k-cell populate+save microbenchmark this cut wall time by ~5%. PR #4958 - Infrastructure changes for documentation. PR #4973
Fixed
- Security patches.
- Xls Writer now creates conformant CFB/DIFAT metadata at FAT-sector boundaries. Issue #4811 PR #4983
- Ods Reader/Writer Drawings. Issue #4809 PR #4956
- Ods Writer no longer converts cell references or commas inside string literals, so
="THIS IS E1"is written unchanged instead of as="THIS IS [.E1]". Issue #4454 PR #4962 - Ods Reader/Writer slight improvement for Date styles. PR #4960
- BETAINV/BETA.INV no longer abandons its search when the Beta CDF underflows to zero (wrong results for alpha above about 1080). PR #4954
- GAMMA.INV, the GAMMA.DIST/CHISQ.DIST/F.DIST densities, and GAMMALN no longer fail or return wrong results for large shape parameters / degrees of freedom. PR #4953
- GAMMAINV/GAMMA.INV no longer clamps upper-tail quantiles beyond alphabeta5. PR #4946
- Correct incomplete gamma convergence for GAMMA.DIST/CHISQ.DIST family (wrong once the series argument reached ~32). PR #4945
- Fix problem with VLOOKUP and whole-column ranges. Issue #4969 PR #4967
- Problem with Xlsx Writer and header-row table. PR #4968
- Throw when Ods Reader encounters invalid Xml. PR #4986
- Update Sheetname in Charts when Sheetname changes. Issue #744 PR #4984