SpreadJS 18.1.0
Released: May 8, 2025
18.1.0 での更新項目
機能
- 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.
不具合の修正
- 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.