[]
The following features and enhancements have been incorporated into this version of the product.
Performance & Optimization
Reduced the size of the SpreadJS Designer component JS and CSS for faster loading.
Improved PivotTable performance for smoother data operations.
Designer Enhancements
SidePanel Flexibility: The Designer SidePanel now supports docking and floating.
Command Palette: Added Command Palette support for streamlined workflows.
Ribbon Checkbox Styling: Updated the appearance of ribbon checkboxes for better visual consistency.
Scrollbar Control: Added the scrollIgnoreHidden
option for scrollbar behavior customization.
Chart Customization:
Support for adjusting chart axis labelAngle
in the Designer.
Added the BubbleScale
option for Bubble Charts.
Enabled setting category axis label formatter and units in the DataChart Panel.
UI & Styling
Sheet Tab Customization: Support for custom border radius styles on sheet tabs.
Worksheet Background: Added support for worksheet-level background images.
Theme Fonts: East Asian font support in themes.
Formula & Calculation
New Function: Support for the TRIMRANGE
function.
Regex Compatibility: Full compatibility with Excel’s regex functions.
API Enhancement: evaluateFormula()
now returns complete result arrays.
PivotTable Improvements
Formatting: Streamlined PivotTable field formatting using the Designer’s NumberFormat dialog.
AI Capabilities - PREVIEW
General AI Support: SpreadJS now integrates AI functions.
Formula Editor Panel AI: AI-powered suggestions and assistance in the Formula Editor Panel.
PivotTable Panel AI : The PivotTable Panel now supports AI-assisted features.
Framework Support
Angular 19: Added full compatibility with Angular 19.
The following issues have been resolved since the last release:
Performance & Import/Export
Fixed Excel file loading stalling due to slow conditional format import and data validation column inflation issues.
Refactored the DataValidation module cache logic (from dict to rbush) to resolve freezing after Excel import.
Fixed XLSX export failures caused by case-sensitive pivot table field names (now aligned with Excel’s case-insensitive behavior).
Fixed XML node mismatches during XLSX export, which caused errors in PivotTable layouts (e.g., blank rows, subtotals).
Improved performance when adding row data via DataManager in table binding scenarios.
Addressed file load failures due to excessive shape counts (21,477+).
Fixed export anomalies with IncludeBindingSource=true
where string/number cell values conflicted in XML output.
Fixed an issue where setting printInfo
or slow printing could trigger a full recalculation of all formulas when defining the print area.
Fixed a performance issue where Excel files containing conditional formatting rules with duplicate ranges caused slow rendering. Duplicate ranges are now automatically removed during import.
Charts & Data Visualization
Fixed incorrect data point tooltip display and hit-test errors in charts.
Aligned bubble chart scaling and legend layouts with Excel’s behavior.
Fixed PDF shape rendering discrepancies (e.g., dashed lines) caused by unit conversion gaps.
Pivot Tables
Fixed premature filter box closure on mouse exit (now matches Excel’s behavior).
Corrected pivot table title styling issues (font weight priority now aligns with Excel themes).
Fixed data source change errors caused by unvalidated column header ranges.
Resolved blank sheets after deleting calculated fields (improved PivotCache refresh logic).
Fixed drag-and-drop functionality overwriting underlying data incorrectly.
Fixed pivot table outputting "NAN" for special data in "Show Data As" mode.
Formulas & Calculations
Fixed ExternalReference
with SUMIFS
failing to update linked values (e.g., #VALUE
errors).
Fixed XIRR
formula returning #NUM
due to unparsed date formats (e.g., "Mar 2017").
Ensured dynamic array formulas recalculate after range expansion.
Aligned SORT
function argument handling with Excel’s behavior.
UI & Designer Component
Added tooltips for truncated table binding paths to improve debugging.
Fixed header/footer font parsing (e.g., bold style in "맑은 고딕").
Corrected hyperlink dialog echoing mismatched content post-edit.
Fixed GanttSheet caption name resetting to default on click.
Prevented underline styles from reappearing in .sjs
files after removal.
Fixed ActiveSheetChanged
event not firing during lazy loading or search navigation.
Fixed font TextDecoration
type conflicts between SpreadJS (boolean/number) and Excel (number-only).
Fixed sheet tab background color application failures (PivotTable command error).
Data Validation & Commands
Fixed "Paste Special transpose" failing after inserting new rows.
Optimized validation performance by improving cell-level cache updates.
Fixed sheet.getDependents
crashes due to unhandled undefined custom names.
Fixed button-triggered command issues in overlapping cells.
Aligned data validation callback button behavior with Excel.
Miscellaneous
Flagged invalid sheet name references (e.g., '!A1
) to match Excel’s parser rules.
Fixed border loss during upload due to backcolor/pattern composition logic.
Ensured comments are replaced after sheet JSON serialization/deserialization.
Restricted table auto-expand on Tab key press in protected sheets (per Excel’s behavior).
Aligned filter rules with Excel for error-handling cases (CalcError
).
Reduced formula manager lag by optimizing custom name calculations.
Fixed incremental loading mode issues affecting custom formulas and layout rebuild timing.
Fixed white screen when switching sheets with lazy/incremental loading enabled.
Fixed renameSheet
command not updating sheet names as expected.
Fixed invalid input errors in pivot table data source parsing.
Fixed shape border copying discrepancies across different screen DPIs.
Fixed Japanese character handling in sheet names causing file open failures.
Fixed formula reference range sync issues after table formula adjustments.
Fixed pivot table custom name parsing errors during refresh with unloaded sheets.
Fixed designer rich text editor incorrectly parsing bold formatting.
Fixed cell border style conversions between Excel and SJS formats.
Fixed an issue where the outline column failed to synchronize its status with text indentation when adding rows to collapsed nodes.
Fixed an issue where cancelChanges
in TableSheet didn't properly reset the data property and row order when reloading data through view.fetch(true). This affected hierarchical parent-child structures where same-level operations wouldn't return to their initial state after reloading.