# Release Notes for Version 18.2.0

## Content

## Enhancements from the Previous Release

The following features and enhancements have been incorporated into this version of the product.
**​​Designer Enhancements​**

* ​**​[Theme Support & Customization​](/spreadjs/docs/v18/spreadjs-designer-component/theme)**[​](/spreadjs/docs/v18/spreadjs-designer-component/theme): SpreadJS Designer now supports two built-in themes and provides theme customization capabilities, enabling support for more modern themes.
* [​](/spreadjs/docs/v18/spreadjs-designer-component/spdesignerwork/transform-cells-with-lambda-formula)**[​Transform Command​](/spreadjs/docs/v18/spreadjs-designer-component/spdesignerwork/transform-cells-with-lambda-formula)**[​](/spreadjs/docs/v18/spreadjs-designer-component/spdesignerwork/transform-cells-with-lambda-formula): Implemented a Transform command to apply LAMBDA formulas to a selection, replacing the selected content.
* [​](/spreadjs/docs/v18/spreadjs-designer-component/spdesignerwork/name-box)**[​Name Manager Enhancements](/spreadjs/docs/v18/spreadjs-designer-component/spdesignerwork/name-box)​**​: Added sorting and filtering capabilities to the Name Manager interface.
* [​](/spreadjs/docs/v18/spreadjs-designer-component/spdesignerwork/edit-font-family)**[​Font Picker Editing](/spreadjs/docs/v18/spreadjs-designer-component/spdesignerwork/edit-font-family)​**​: Enabled editing within the font picker component of the designer.
* [​](/spreadjs/docs/v18/features/tablegen/tablebind)**[​Table Enhancements](/spreadjs/docs/v18/features/tablegen/tablebind)​**​: 
    * <span data-teams="true">Added APIs to retrieve table binding sources, convert a regular table to a bound data table, and convert a bound data table back to a regular table.</span>
    * <span data-teams="true">Added support for converting tables to and from bound DataTables through designer UI.</span>

​**​UI & Styling​**​

* [​](/spreadjs/docs/v18/features/cells/celltypes/cellcheckbox)**[​Checkbox & CheckboxList CellType](/spreadjs/docs/v18/features/cells/celltypes/cellcheckbox)​**​: Added toggle mode support for Checkbox/CheckboxList cell types, enabling switch-like behavior in cells.
* [​](/spreadjs/docs/v18/features/UnderstandingShapes/text-on-shapes)**[​Shape Text Direction](/spreadjs/docs/v18/features/UnderstandingShapes/text-on-shapes)​**​: Added support for text direction settings in shapes.
* **[​Paste Special with Lambda Formula​](/spreadjs/docs/v18/features/cells/pasteoptions)**: Enabled transformation of clipboard data through Lambda formulas before pasting.
* [​](/spreadjs/docs/v18/features/datavalidate)**[​Data Validation Search​](/spreadjs/docs/v18/features/datavalidate)**[​](/spreadjs/docs/v18/features/datavalidate): Enhanced data validation to include search functionality.
* [​](/spreadjs/docs/v18/features/cells/comments)**[​Comment Fill Color​](/spreadjs/docs/v18/features/cells/comments)**[​](/spreadjs/docs/v18/features/cells/comments): Comment fill color support now matches Excel 2019+ functionality.
* **[Sheet List Search](/spreadjs/docs/v18/features/workbook/tabstrip)**: Added a search feature to the sheet list for quick worksheet navigation.

​**​Formula & Calculation​**

* [​](/spreadjs/docs/v18/features/formulas/calculating-formulas-outside-worksheets)**[​Asynchronous Function Evaluation](/spreadjs/docs/v18/features/formulas/calculating-formulas-outside-worksheets)​**​: Enabled evaluation of asynchronous functions outside the worksheet.

​**​PivotTable Improvements​**

* ​**​[PivotTable Data Source](/spreadjs/docs/v18/features/pivot-table/create-pivot-table)​**​: Allows selecting entire columns (e.g., `Sheet1!C:D`) as PivotTable sources, resolving dynamic data update issues.

**Collaboration Server Improvements - PREVIEW**

* **[​Real-time Collaboration Status](/spreadjs/docs/v18/spreadjs-collaboration-server/spreadjs-sheets-collaboration/collaboration-editing-status)​**​: Added visual indicators for document editing status during collaboration.
* [​](/spreadjs/docs/v18/spreadjs-collaboration-server/spreadjs-sheets-collaboration/spreadjs-sheets-collaboration-add-on)**[​Batch Operation Processing​](/spreadjs/docs/v18/spreadjs-collaboration-server/spreadjs-sheets-collaboration/spreadjs-sheets-collaboration-add-on)**[​](/spreadjs/docs/v18/spreadjs-collaboration-server/spreadjs-sheets-collaboration/spreadjs-sheets-collaboration-add-on): Introduced batch operation APIs for submitting multiple changes.

**File Format Compatibility​**

* ​**​[XLSM & XLTM File Format Support (Lossless)​](/spreadjs/docs/v18/features/spreadjs-file-format)**[​](/spreadjs/docs/v18/features/spreadjs-file-format): Full support for importing/exporting macro-enabled Excel files with format preservation.
* [​](/spreadjs/docs/v18/features/spreadjs-file-format)**[​XML Source Editing](/spreadjs/docs/v18/features/spreadjs-file-format)​**​: Added lossless editing of XML source (workbook XML maps)

**Charts & Visualization​**

* **New Data Chart Types​**​
    * **​[​Treemap Chart](/spreadjs/docs/v18/features/data-charts/chart-types/treemap-chart)**[​](/spreadjs/docs/v18/features/data-charts/chart-types/treemap-chart): Visualizes hierarchical data with nested rectangles.
    * [​](/spreadjs/docs/v18/features/data-charts/chart-types/funnel-chart)**[​Funnel Chart​](/spreadjs/docs/v18/features/data-charts/chart-types/funnel-chart)**[​](/spreadjs/docs/v18/features/data-charts/chart-types/funnel-chart): Represents process stages with narrowing proportions.

​**​ReportSheet​**​

* [​](/spreadjs/docs/v18/features/reportsheet/templatesheet/show-hidden-row-and-col)**[​Hidden Row/Column Visibility​](/spreadjs/docs/v18/features/reportsheet/templatesheet/show-hidden-row-and-col)**[​](/spreadjs/docs/v18/features/reportsheet/templatesheet/show-hidden-row-and-col): Enabled visibility of hidden rows and columns during design time in Report Sheet templates.

**Framework Support​**​

* **[React 19](/spreadjs/docs/v18/javascript-frameworks/UsingSpreadSheetswithReact)**: Added full compatibility with React 19.
* **[Next.js 15](/spreadjs/docs/v18/javascript-frameworks/spreadjs-with-nextjs)**: Added full compatibility with Next.js 15.

**Improved License Error Messages​**

* [Enhanced license error messages to help users diagnose issues](/spreadjs/docs/v18/getstarted/trialSpreadJS), including:
    * Invalid/missing keys
    * Version mismatches
    * Hostname mismatches
    * Expired keys

## Resolved Issues

The following issues have been resolved since the last release:
**Data Validation & Cell Operations**

* Validation rules no longer fail after cell moves, preserving original validation.
* New cells created after cut/paste operations now maintain correct absolute references.

**Calculation Engine Improvements**

* Fixed calculation discrepancies with Excel when `calcOnDemand=true`, particularly for SUMIFS functions.
* LET formula now returns correct values by properly handling operators with CalcArray.
* BYROW formula now correctly returns results by properly referencing lambda functions.
* Fixed abnormal formula calculation results that prevented Excel export, especially for image functions with "&" in URL parameters.

**Pivot Table & Data Refresh**

* Pivot table fields remain checked after refreshing when data source fields match the current configuration.
* Fixed incorrect renaming of calculated fields during pivot table refresh.
* Excel files with pivot tables now import correctly, with all pivot tables available or addable after import.

**Chart Rendering & Performance**

* Added support for Binary mode in QR code generation.
* Significantly improved Treemap chart rendering performance for large datasets by optimizing model update triggers.
* Chart reference data switching is now faster.
* Chart and pivot table elements now maintain their state when imported from Excel.
* Floating objects (like charts) now properly update their positions when row heights change.

**UI & Display Fixes**

* First sheet display time is now consistent between ExcelIO and IO during incremental loading.
* Gantt chart header sizes now correctly revert when switching views.
* TableSheet custom grouping now displays all data correctly when scrolling.
* Fixed strange scrollbar layout issues.
* TabStrip fonts now display correctly on MacOS and iOS devices.

**Data Binding & Table Operations**

* Inserting columns in data-bound tables now correctly moves footer values and sheet model data.
* TableSheet row headers with merged cells now export correctly.
* MultiColumn list cell type dropdown items are now clickable on mobile devices.
* Table binding now properly moves all content, including tags, during row insertion.

**Import/Export & File Handling**

* Excel file export now properly converts date strings to date formats, even with Chinese resources.
* SpreadJS now correctly handles Excel files with specific file types (like purl.oclc.org).
* ReportSheet SUMIF problems fixed by properly fetching data from the ReportSheet's data model.
* When exporting CSV from ReportSheet, the worksheet index is no longer incorrectly set to -1.

**Formula & Calculation Fixes**

* Formula results now match Excel's calculations across various scenarios.
* Fixed inconsistent expand/collapse behavior for grouped columns.
* `calcOnDemand` mode now correctly fetches current values for dynamic array formulas.
* Invalid formula errors when loading JSON are fixed by properly parsing conditional format references.

**Designer & Configuration**

* All data source updates in Designer are now encapsulated as commands.
* ThemeFont is now properly applied to Title and Heading in Cell Style.
* TableSheet now supports converting formulas with culture-specific input for panel inputs and column headers.
* TableSheet now properly handles `arrayGroupSeparator` set to semi-colon.
* Table configuration changes no longer occur before clearing ranges, fixing `getColumnFormula` returning null issues.
* Conditional format count no longer increases incorrectly during `moveTo` operations.
* TableSheet now properly maintains header sizes when switching between views.

**Performance Optimizations**

* Significantly improved scrolling performance with auto-merge and fixed rows enabled.
* Shift+PgDown shortcut performance improved by optimizing status bar calculations.

**Localization & Internationalization**

* Filter menu now shows all relevant options with Arabic currency, fixing right-alignment display.
* Fixed the Chinese culture date strings issues.

**Error Handling & Edge Cases**

* Calling `calculate()` no longer throws errors with invalid sheet name references.
* Fixed invalid cell style settings by addressing misplacing dropdown attributes and incorrect built-in style names during file import.
* Formula errors after importing Excel 2016 files are fixed by properly expanding parameters for functions like N.
* SpreadJS now properly loads specific Excel documents that previously failed due to unsupported file types.
* An error message no longer appears when modifying cell values after format changes, fixing `showZero` value handling.

**Miscellaneous**

* Clicking hyperlinks is now functional, fixing issues with auto-merged cells and frozen lines.
* Tags are now correctly copied during row insertion operations to prevent data loss.
* PatternFill color transfer errors during PDF export in `blackAndWhite` mode are fixed.
* When exporting to Excel, date formatting now automatically converts input strings to date formats.
* Header addition is now consistently applied across all row actions.
* Fixed `setDataSource` tag issues.