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.