Skip to content

Changelog

  • Pivot table support: pivot tables are now written to XLSX output, enabling full round-trip of pivot tables including layout, fields, cache definitions, cache records, conditional formats, filters, and extension data.
  • Theme and colour support: colours are now fully supported as structured objects with multiple colour models (sRGB, theme, preset) and transforms, rather than plain hex strings. Theme fonts are also supported.
  • Text rotation: cell alignment now includes textRotation in the XLSX output.
  • Fixed a crash when normalising table column formulas that contained unknown or unsupported functions.
  • Fixed row style assignment not being applied correctly.
  • Fixed showGridLines: false not being persisted on sheet views.

This release tracks @jsfkit/types v2.0.0, which introduced breaking changes to the colour model (colours are now objects rather than "#rrggbb" strings) and moved showGridLines into WorksheetView. Update your JSF data accordingly.

Routine updates to ESLint, its plugins, and Vitest.

  • Added: JSF → Excel → JSF roundtripping tests for all eligible fixtures
  • Fix: Additive default properties in XML generation
  • Fix: threadedComments2 URI for hyperlinks in comments
  • Fix: veryHidden sheet state preserved
  • Fix: workbook > bookViews > workbookView default of no activeTab property does not result in a workbookView[activeTab="0"] element
  • Fix column width discrepancy due to no baseColWidth="10" value for JSF workbooks without defaults
  • Added: CLI tool exposing toXlsx, usage: jsf2xlsx input.json -o output.xlsx
  • Row styles included in OOXML
  • Default colWidth converted from PixelValue to character col width
  • Default (CellStyle = normal) font chosen from 0th style[] in JSF
  • Update dependencies
  • Drop assert dependency in favor of lightweight assert helper
  • Add support for data tables
  • Output cell comments and notes
  • Update dependencies
  • Export workbook and worksheet views
  • Fix incorrect worksheet dimension ref
  • Use package.json files prop instead of .npmignore
  • Add default cell format when JSF has no styles
  • Test converted files open in Excel successfully
  • Remove unused code
  • Move JSZip to dev dependencies
  • Fix export compatibility issues
  • Switch to using npm for package management
  • Fix charEscape regex to only escape chars < 32
  • Convert JSF col widths from pixels to points
  • Update dependencies
  • Fix .npmignore issues
  • Initial release after the switch from CSF to JSF