[]
Real-time Collaboration: The real-time collaboration functionality in SpreadJS is now officially released after its previous Beta phase. This feature enables multiple users to edit the same spreadsheet simultaneously through collaboration server-side components.
Real-time synchronization of cell edits, formatting changes, and structural modifications
Collaborative Undo/Redo support within the collaboration solution
Slicer operations now fully supported in collaboration mode
License mechanism added to the collaboration add-on for enterprise deployment
The new AI Assistant Add-on is officially released, this optional add-on introduces AI-powered capabilities that make it easier for users to create and analyze spreadsheets using natural language.
Formula generation & explanation — Instantly create and understand complex formulas via natural language.
AI-driven PivotTable creation — Generate PivotTables and data insights through simple descriptive input.
AI worksheet functions — Perform text processing, translation, and data analysis directly in cells.
Web Worker Calculation: SpreadJS now leverages Web Worker technology to enhance incremental calculation performance. By parallelizing sheet rendering and computational tasks, this update greatly improves UI responsiveness, reduces interface latency, and enhances overall performance and stability.
Threaded Comments: SpreadJS now supports Excel-style threaded comments, allowing users to reply and discuss directly within cell comments. Threading is seamlessly integrated into the existing comments UI with indented reply threads for better collaboration and context.
Justify Alignment: Added support for "Justify" horizontal and vertical alignment, matching Excel's text alignment capabilities.
Sort with Header Exclusion: Users can now exclude the title row from sorting operations by checking "Data contains title" option, consistent with Excel behavior.
Drag and Drop Custom Sorting: Users can now drag and drop items within the Pivot Table for custom sorting, matching Excel's behavior for manual arrangement of pivot items.
Date Grouping Step Value: Added support for setting custom date grouping intervals in PivotTable. Users can now group data by specific number of days (e.g., 7 days for weekly analysis).
Pivot Table in Protected Sheets: PivotTable filtering and data analysis functionality is now available even when sheet protection is enabled.
Formula Preservation on Export: When exporting a previewed report to Excel or converting to a regular Worksheet, certain formulas (calculations, lookups, references) can now be retained in cells for continued functionality.
Container Summary Display: Added ability to display summary rows or columns when using containers in ReportSheet for aggregated data presentation.
Blank Row Filling for Pagination: When generating paginated reports, users can now automatically fill remaining space with blank rows when the last page has fewer records than expected.
Group-Based Pagination: ReportSheet pagination now supports paging based on data within each group.
Enhanced Page Formulas: The R.CurrentPage and R.PageCount formulas now support a useGroupContext parameter to get page numbers within groups.
Template Range Container: Added support for Template Range Container, enabling more flexible report template design.
Combo Charts: DataChart now supports combo chart functionality, allowing multiple plot types (e.g., column and line) in a single chart for comprehensive data visualization.
Waterfall Chart: Added Waterfall Chart type to visualize how a starting value evolves into a final result through sequential increases and decreases.
Candlestick Chart: Added Candlestick Chart type for financial data visualization, showing open, high, low, and close prices.
OHLC Chart: Added OHLC (Open-High-Low-Close) Chart type for technical analysis and trading applications.
Enhanced Text to Columns: Improved performance for the "Text to Columns" functionality, preventing browser crashes when processing large datasets.
Bulk Name Deletion: The Name Manager dialog now supports bulk deletion of custom names using Shift+Click, Ctrl+Click, or Shift+Arrow key combinations for multi-selection.
Angular 20: SpreadJS runtime and Designer component Angular wrapper now fully support Angular 20 with updated ng-packer and demo samples.
Nuxt.js 4: Added support for Nuxt.js v4 stable release.
WCAG 2.1 AA Improvements: Enhanced accessibility support in SpreadJS and Designer Ribbon Component, addressing ARIA role hierarchy and form element labeling to better comply with WCAG 2.1 AA standards.
NPM Support Notice: Starting in v19, the legacy npm package @grapecity/spread-sheets will no longer be updated. Please migrate to @mescius/spread-sheets to receive new features and support. Refer to our Migration Guide or reach out to our support team with any questions.
Fixed column chart display misalignment that caused bar distribution to differ from Excel.
Fixed an issue where chart series with limited data range (e.g., only two cells) displayed differently from Excel.
Fixed line series rendering behind stacked column series in combo charts; now renders in front consistent with Excel.
Fixed pivot table content order and calculation results to match Excel output.
Fixed pivot table grouping performance inconsistency with Excel.
Fixed formula references not updating when "Column header as frozen rows" is enabled.
Fixed Total Row formula error when column headers contain square brackets []; SpreadJS now auto-escapes reserved characters like Excel.
Fixed summary formula showing #NAME? error when table columns contain [] characters.
Fixed dynamic array formula adding extra "@" symbols after recalculation, causing #N/A errors.
Fixed XLOOKUP formula returning incorrect results compared to Excel.
Fixed ROWS formula not correctly obtaining row count after table modification.
Fixed formula calculation results inconsistency with Excel in specific scenarios.
Fixed slow deletion of DynamicArray formula when using backspace key.
Fixed an issue where certain formulas from Excel 2019 sheets displayed #N/A! errors in SpreadJS after modifying cell values.
Fixed an issue where cross-sheet formula results were not updated when saving files under lazy loading mode.
Fixed a calculation inconsistency issue to make formula results align with Microsoft Excel behavior.
Fixed calculation service not resuming after "duplicate table name" exception during table creation.
Fixed formulas stopping update after error dialog appears when drag-dropping table binding.
Fixed undo not clearing formula-calculated values when formulas are applied to multiple cells in a transaction.
Fixed browser crash (out of memory) when importing certain files with incremental loading.
Fixed scrolling slowness after loading Excel files with approximately 16,000 hidden columns.
Fixed border lines disappearing after exporting to Excel.
Fixed JSON exported from version 18.1.4 failing to import in version 18.2.
Fixed Excel file corruption when inserting a row above a cell with data validation and re-exporting.
Fixed CSV import encoding issue in SpreadJS Desktop Designer; encodings other than UTF-8 now work correctly.
Fixed conditional formatting behavior mismatch with Excel when external references are invalid (#REF!).
Fixed font rendering offset when scrolling on mobile devices.
Fixed inability to unhide the last column when scrollByPixel and scrollbarMaxAlign are enabled.
Fixed duplicate floating element appearing after applying filter.
Fixed exported images not being centered correctly.
Fixed vertical text display issues in Japanese, including full-width character handling and text wrap position.
Fixed auto merge not taking effect when only frozenColumn is set (without frozenRow).
Fixed blank page appearing after hiding a report sheet.
Fixed column headers disappearing when navigating to page 2 in paginate preview.
Fixed PDF export producing abnormally reduced pages.
Fixed inconsistent image sizes across report pages.
Fixed getWorkbook() returning incorrect spread when clicking Parameter Design cells.
Fixed "Delete Table Column" not working when selecting all columns in a bound table.
Fixed column formulas not retained correctly when adding formula columns to table bindings.
Fixed missing command event when table sheet binding combobox changes.
Fixed custom name reference range returning negative row/column indexes when cut-pasting to different sheet positions.
Fixed error occurring when repeatedly removing and adding custom names for the third time.
Fixed custom functions disappearing from formula panel after importing sjs file.
Fixed collaboration demo history page error when grouping two charts.
Fixed built-in views not switching in Pivot View Manager tutorial demo.
Fixed AI Formula Explanation close button tooltip showing "undefined".
Fixed React hostClass property not rendering correctly on SpreadSheet component (missing space before class name).
Fixed scroll behavior issues when using filters in sheets with Ctrl+Shift+Arrow navigation.
Fixed TableSheet scrolling continuing after mouse release outside scroll area.
Fixed chart drag-and-drop throwing exception in NextJS production mode (related to SWC minifier).
Fixed copy and paste of row/column not working when multiple headers are set.
Fixed dropdown list data validation source referencing original sheet after sheet copy, instead of new sheet like Excel.
Fixed pivot table dialog options blanking out the sheet when selected.
Fixed slow automatic filling execution when there are many columns.
Fixed page break logic inconsistency with Excel.
Fixed merge cell option enabled under sheet protection while Excel disables it.
Fixed sorting including header row when it should be excluded (Excel excludes string headers from numeric sort).
Fixed Wrap Text removing thousands separator (space) in French culture.
Fixed SpreadJS creating unexpected column when opening certain SSJSON files.
Fixed ProseMirror CSS conflicts when customer projects use different versions.
Fixed ColumnChanged/RowChanged events missing count parameter in API documentation.
Fixed GanttSheet working hours configuration code example in documentation.