Skip to main content Skip to footer

SpreadJS v19 Hotfixes

The latest updates and information on the SpreadJS JavaScript Library.

Please tell us what you think in the SpreadJS forums channel.

  • SJS-35658: TableSheet fix: [TableSheet] Hierarchy indentation becomes insufficient when zooming in
  • SJS-35688: Namebox fix: Name Box dropdown becomes unreadable when theme is set to dark
  • SJS-35690: Designer Component fix: Label of DataBar in JP designer need to be fixed.
  • SJS-35692: Demo fix: WEBSERVICE demo sample does not work.

  • SJS-25240: Remove "core-js" from Angular online demo samples.
  • SJS-26448: SpreadJS Support Touch Selection Indicator Customization.
  • SJS-30903: [ReportSheet] Events of Generating Report
  • SJS-31879: Need new Action "commitInput" that just commit Input and end edit (no focus move).
  • SJS-34214: IProtectionOptions is missing in Designer Type Definitions file.
  • SJS-34427: [Angular] SpreadJS Support Angular 22.
  • SJS-35292: Instruction of Using Ribbon with Next.js and Nuxt
  • SJS-35321: Documentation fix: Correct format for API page:Spread.Sheets.Events
  • SJS-35345: SJS Server fix: Designer backstage "Back" button is disabled when user has BrowsingMode.view permission in collaboration mode
  • SJS-35351: SJS Server fix: ESM wrapper.mjs omits `OpType` and other named value exports
  • SJS-35365: Demo fix: Sample Code in "Filter Dialog" might be incorrect.

  • SJS-11336: Charts fix: Chart's legend changing on import
  • SJS-12508: Charts fix: Chart Rendering Issue
  • SJS-15200: Charts fix: When importing an Excel file, the Pie Chart's legend is not displayed.
  • SJS-17326: Calculation Engine fix: Deleting multiple sheets times out browser with larger files
  • SJS-34706: Calculation Engine fix: SpreadJS returns 36960 for “=DATEVALUE("Mar-10")“ while Excel returns 46091.
  • SJS-35140: Collaboration fix: npm audit reports vulnerability caused by ws dependency through socket.io package. Ensure to use socket.io v4.8.1 and ws v8.21.0 or greater to get the patch. By installing SpreadJS latest packages, those dependencies will be applied.
  • SJS-35242: GanttSheet fix: Export to Excel failed when the tablesheet name started with a number.
  • SJS-35245: Designer Component fix: Custom theme body font not reflected as default in Rich Text dialog from v18.1.0
  • SJS-35260: Excel IO fix: Export Issue with Cell Data Validation Using Table Reference
  • SJS-35282: Excel IO fix: XLSX export produces corrupted file when includeStyles option is disabled

  • SJS-34863: Designer Component fix: SpreadJS Designer "Increase Decimal" button performs incorrect operation on first click
  • SJS-34927: Calculation Engine fix: Incremental Calculation + Calc Worker throws error after importing templates saved with incrementalCalculation=false and then enabling incrementalCalculation
  • SJS-35092: Formatter fix: Cell value with custom number formatting not displayed in SJS (works in Excel)
  • SJS-35093: Designer Component fix: Unexpected re-creation of field list panel tree nodes on cell selection
  • SJS-35130: Worksheet fix: Definition of "setFormatter" is not correct in API Reference and gc.spread.sheets.d.ts
  • SJS-35152: Designer Component fix: [API Doc]Please check whether there are spelling errors in the sample code of the ColumnOrBarChartPreview API
  • SJS-35157: Worksheet fix: Autofill (Double-Click Fill Handle) Behavior Differs from Microsoft Excel for Table Columns Containing Blank Cells
  • SJS-35165: Tables fix: Runtime Missing TableRemoveOptions and TableSelectionType Enums in v19.1.2

  • SJS-31542: Charts fix: Invalid formula error on import/export between SpreadJS and DsExcel/MsExcel
  • SJS-34753: Namebox fix: SpreadJS – SelectionChanged Event Not Triggered When Selecting Named Range via Name Box
  • SJS-34761: Filter fix: Sheet protection should restrict UI operations only, not code-based operations.
  • SJS-34764: Charts fix: Waterfall Chart misrendering with Versioned Defined Names (_xlchart.v1.N) in ChartEx
  • SJS-34883: Style fix: Accounting Underline is applied only to the first cell when using Center Across Selection alignment
  • SJS-34987: Demo fix: Sample code in the description of "Export SparklineEx To Image" demo sample is not correct.
  • SJS-35076: Designer Component fix: Schema exporting doesn't work in designer runtime

  • SJS-34361: Tables fix: Incorrect formula reference update when inserting rows in bound table
  • SJS-34765: Excel IO fix: Strange artifacts from styles.xml in imported Excel file
  • SJS-34767: Tables fix: Inconsistent Style Copy Behavior in Table Rows - Font Size and Font Weight Not Applied Unless Explicitly Set
  • SJS-34797: Events fix: How to distinguish Ctrl + Shift + Enter input from RangeChanged clear action
  • SJS-34872: Tables fix: Error when clearing styles using sheet.clear()
  • SJS-34886: Calculation Engine fix: Questions about Calc Worker Custom Function Usage
  • S
  • JS-34896: TableSheet fix: SpreadJS v19.1 throws TypeError: Cannot read properties of null (reading 'colHeaderData') when saving TableSheet with DataSource
  • SJS-34912: Demo fix: Error in Collaboration Demos on Returning

  • SJS-31927: [Next.js] SpreadJS Supports Next.js 16.
  • SJS-31928: [Angular] SpreadJS Supports Angular 21.
  • SJS-33482: Designer Component fix: Table Style: Header row Text Bold Setting Does Not Apply or Revert Correctly
  • SJS-34063: Designer Component fix: Shape Format panel - Text Fill settings relationship unclear
  • SJS-34089: Calculation Engine fix: Incorrect results returned by NORM.S.DIST function in SpreadJS compared to Excel (returns 0 for valid inputs)
  • SJS-34147: Demo fix: Scrollbar display issue in SpreadJS JSON Serialization Demo
  • SJS-34203: Charts fix: Chart Legend and textbox are lost on Excel file import
  • SJS-34211: Documentation fix: [Documentation]Add detailed description for AI function parameters
  • SJS-34215: Documentation fix: [Documentation]Please correct the return value of attach
  • SJS-34227: Documentation fix: [Documentation]GC.Spread.Sheets.ContextMenu.IMenuItemData.workArea does not list "viewport" value

  • SJS-32792: Formula Textbox fix: The presence of square brackets [] in the caption of a tableSheet will cause formula errors
  • SJS-32844: Calculation Engine fix: The formula calculation speed is exceptionally slow.
  • SJS-33285: Designer Component fix: [ReportSheet Designer] The scroll bar on the right side list is not displaying completely
  • SJS-33377: Charts fix: Stock charts do not render when data rows are less than number of columns
  • SJS-33528: Calculation Engine fix: #VALUE! Error Occurs on XLOOKUP Formula After Excel Import
  • SJS-33757: Calculation Engine fix: The asynchronous calculation interface (evaluateExpressionAsync) supports the "convertNullToZero" configuration
  • SJS-33762: PivotTable fix: [Pivot Table] crash following a sequence of odd UI interactions
  • SJS-33802: PivotTable fix: PivotTable Filter Context Menu Creates Empty Space and Shifts Sheet Up in Constrained Height Container
  • SJS-33826: Report Sheet fix: ReportSheet UI Crash When Removing All Rows or Columns Containing a Template Range Detail
  • SJS-33839: Documentation fix: Usage of DOLLAR function.
  • SJS-33854: Formatter fix: Dropdown Selection Displays Date Instead of Selected Text After Importing Excel File
  • SJS-33858: Designer Component fix: TableSheet state is not preserved on adding calculated fields through TableSheet side panel
  • SJS-33860: Documentation fix: sample code is not recognized as JavaScript
  • SJS-33864: Documentation fix: Extra page is added when orientation is set portrait in printInfo.
  • SJS-33921: Documentation fix: Need to update React contents in help document.
  • SJS-33933: Designer Component fix: [CheckBox] In Toggle mode, the alignment is set to inside, but after changing the mode to checkbox, the alignment is incorrect
  • SJS-33997: Calculation Engine fix: [Forguncy] The result of formula ="2026-02-28T17:07:59" + 0 is #VALUE!
  • SJS-34000: Formula Editor fix: When use Gemini for an AI model, the formula from the AI is returned enclosed in quotation marks.
  • SJS-34005: TableSheet fix: Two TypeScript Type Definition Errors in TableSheet API
  • SJS-34007: Calculation Engine fix: Issue when setting formula for a range with webworker calculation
  • SJS-34008: Report Sheet fix: ReportSheet Chart demo does not work properly.
  • SJS-34037: Designer Component fix: In designer of V19 JP version, sort dialog need to be modified.

  • SJS-27760: Charts fix: The chart series formatting is inconsistent before and after import and export.
  • SJS-31531: Charts fix: Extra Axis Label Added When Deleting a Row in Chart
  • SJS-33403: Designer Component fix: Formula List Separator Changes from Semicolon to Comma When Cancelling Edit in Custom Culture
  • SJS-33445: Designer Component fix: Style lost after importing Excel and exporting to ssjson on the sheet unit.
  • SJS-33501: PDF fix: File Read/Write Exception When Exporting Imported Excel File to PDF
  • SJS-33616: TableSheet fix: Data Table works unexpectedly for Columns Containing Dots in Column Names
  • SJS-33703: Data Manager fix: Trigger Formula Not Applied After Data Source Is Bound to TableSheet
  • SJS-33798: Collaboration fix: Add proper Meta Title and description to Collaboration Server demo

  • SJS-32819: Charts fix: Stock chart creation fails when category values are interpreted as strings instead of dates
  • SJS-33046: ConditionalFormatting fix: The conditional formatting colors are inconsistent with Excel.
  • SJS-33381: Formula Textbox fix: Intellisense for TableSheet column names is case sensitive.
  • SJS-33398: Tables fix: SpreadJS Excel import fails with “Incorrect file format” when Include Styles is enabled
  • SJS-33423: Designer Component fix: Hyperlink in empty cell are not clickable

  • SJS-10401: Tables fix: The total row value of the bound table appears once more in another location.
  • SJS-32008: Charts fix: XY scatter plot in Excel becomes a composite plot after importing SpreadJS
  • SJS-32750: Charts fix: In the combo chart, the lineMarkersStacked100 and the lineStacked100 are plotted separately.
  • SJS-32770: TableSheet fix: Named Range Used in TableSheet Cell Button Configuration Removed During Export with includeUnusedNames=false
  • SJS-33112: Designer Component fix: Ribbon controls misalign at non-100% browser zoom / DPI scaling
  • SJS-33115: PivotTable fix: Hebrew Text Not Displayed in Pivot Table Filter Dropdown in SpreadJS Designer
  • SJS-33129: Tables fix: The Impact of Incremental Loading and Lazy Loading on dataTable
  • SJS-33286: Designer Component fix: [ReportSheet Designer] For format settings, the options of "No Color" and "Custom Color" are missing
  • SJS-33287: Designer Component fix: [Designer] In the condition format management rules dialog, the first rule cannot be selected
  • SJS-33288: Designer Component fix: [ReportSheet Designer] The dropdown menu for Find and Replace is incorrect.
  • SJS-33291: PivotTable fix: Questions about v19 new feature PivotTable Interaction in Protected Worksheet.
  • SJS-33298: Designer Component fix: [ReportSheet Designer] When the data is an empty array, the collapse button disappears when searching the data source.
  • SJS-33320: TableSheet fix: [TableSheet] IconSets Rule Can't work
  • SJS-33322: TableSheet fix: [TableSheet]Use pixel scrolling, drag scroll bar to scroll, the scrolling distance is wrong

  • SJS-31550: GanttSheet fix: Exported ganttsheet displayed different from spreadsheet.
  • SJS-31869: Calculation Engine fix: LINEST formula calculation error
  • SJS-32198: Workbook fix: Cannot search for the specified worksheet
  • SJS-32570: Charts fix: Chart displays only a single column instead of multiple columns
  • SJS-32708: Calculation Engine fix: Formula returns inconsistent result vs Excel when using a single-character value
  • SJS-32828: Calculation Engine fix: Spill error inconsistency between Spread and Excel
  • SJS-32839: DataRange fix: After the dataRange references the TableSheet, filter options appear in the column headers.
  • SJS-32840: GanttSheet fix: Setting a custom style in the GanttSheet prevents mouse operation of the taskbar.
  • SJS-32945: Excel IO fix: The Stop If True property lost after saving to sjs.
  • SJS-32978: Data Manager fix: [TableSheet] Group Header uses the Column Name and not the column caption
  • SJS-33086: Filter fix: Filter UI shows Date (Year) filter when using numeric values with mm formatter
  • SJS-33109: GanttSheet fix: Time Scale displays incorrectly when zooming the ganttsheet.
  • SJS-33114: Excel IO fix: After import/export excel including a external link, blank cell is converted to NaN.
  • SJS-33122: Worksheet fix: The program experienced severe lag after setting the font for the entire sheet.
  • SJS-33163: Security fix: Added stronger XSS protection to hyperlinks in workbook.