Skip to main content Skip to footer

SpreadJS v18 Hotfixes

The latest updates and information on the SpreadJS JavaScript Library.

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

  • SJS-30532: Designer Component fix: Issue when formatting cells using context menu.
  • SJS-30833: Designer Component fix: Need to modify the layout of PDF export menu in Designer of JP version.
  • SJS-30856: Workbook fix: When you select a row and use Undo/Redo, the selection range becomes unexpected.
  • SJS-30869: Filter fix: Unable to drag and fill data after filtering
  • SJS-30871: Calculation Engine fix: Result of formula is different from Excel when including empty string.
  • SJS-30991: Calculation Engine fix: Calculation error
  • SJS-31005: Report Sheet fix: The style of conditional format display in paginate mode is not as expected
  • SJS-31013: Tables fix: Table allows duplicate column names when performing drag operation
  • SJS-31018: Designer Component fix: Clarification on custom functions defined globally and locally
  • SJS-31091: Designer Component fix: Line break in formula bar not working after version 18.0.7
  • SJS-31113: Data Validation fix: How to display the drop-down item of data validation completely?
  • SJS-31152: Namebox fix: SpreadJS Designer show EN message in namebox alert dialog in CN culture.
  • SJS-31171: Designer Component fix: The builtInFileIcons needs to be updated to support .xlsm and *.xltm files.
  • SJS-31207: Command fix: Cell borders not sending command to command manager listener

  • SJS-27410: Use "createRoot" instead of "ReactDOM" API in React demo samples
  • SJS-27677: SpreadJS Supports React 19.
  • SJS-27678: [Next.js] SpreadJS Supports Next.js 15
  • SJS-28586: Support Comment Fill Color (Excel 2019+)
  • SJS-29595: Designer Component fix: Text in page setting in Print ribbon menu displays different from Excel.
  • SJS-29728: Add a config button to enable fontScriptCode to Desktop Designer.
  • SJS-29731: Need to update the information of instructions for using SpreadJS with React.
  • SJS-29813: Data Validation fix: After filtering, there is a lag when scrolling horizontally.
  • SJS-30171: Designer Component fix: Node Not Selected When Dragged onto Sheet
  • SJS-30319: Command Palette Error when TableSheet missing

  • SJS-25505: ConditionalFormatting fix: Out of memory when importing xlsx file.
  • SJS-25589: Tables fix: After the table above rebind the columns, the formula in the table below changes.
  • SJS-27569: Calculation Engine fix: Result of COUNTIF and SUMIF is different from Excel comparing 'ー', '―'.
  • SJS-28003: Publish Online Collaboration Demo
  • SJS-28259: Designer Component fix: ConditionalFormats With FontSize Doesn't Work
  • SJS-28612: Designer Component fix: [Forguncy] reportSheet combo cells' value/text field UI order question
  • SJS-28732: Charts fix: Loading files containing charts takes too long
  • SJS-29544: Editing fix: Right Arrow key doesn't work after pressing Home key with multi line cell
  • SJS-29691: Excel IO fix: Using lazyMode, when the activeSheet is deleted, the content of the next selected sheet is empty.
  • SJS-29730: Calculation Engine fix: Formulas Fail to Evaluate as Expected When Loading Excel File
  • SJS-29910: Worksheet fix: Delete first column of merged cells caused right border disappeared and span still exist.
  • SJS-29912: Calculation Engine fix: Adding name "Ynp1" throws invalid custom name error
  • SJS-29928: Calculation Engine fix: XIRR function calculates to incorrect result
  • SJS-29996: Calculation Engine fix: Prompt bindingPath error after upgrading version
  • SJS-30030: None Functionality fix: Add information in doc about setting required to use UNIQUE formula
  • SJS-30067: Command fix: hit the ESC key does not get the cancelInput command in the command manager listener.
  • SJS-30078: Designer Component fix: Set Allow Dynamic Arrays to True in online Designer Demo
  • SJS-30084: Calculation Engine fix: Export and import sjs setting includeCalcModelCache true, reference cell isn't updated.
  • SJS-30097: Excel IO fix: Import file tabkes long time

  • SJS-16309: Calculation Engine fix: setDataSource takes a long time
  • SJS-18396: Data Binding fix: The SpreadJS custom asynchronous function is triggered to execute twice after the setDataSource method is called
  • SJS-24041: Data Binding fix: The formula calculation in the first sheet will affect the table binding speed of the second sheet.
  • SJS-26681: Filter fix: The tree node structure in the row filter is incorrect.
  • SJS-27569: Calculation Engine fix: Result of COUNTIF and SUMIF is different from Excel comparing 'ー', '―'.
  • SJS-27862: Calculation Engine fix: After exporting to Excel, the arc @ symbol in the formula causes calculation errors.
  • SJS-28887: Worksheet fix: Clarification on onClear hook behavior in Data Provider
  • SJS-29060: Calculation Engine fix: Export ssjson,then import spreadJS,the formula has an "@" symbol added
  • SJS-29696: Designer Component fix: Data Manager does not set the schema column type by default
  • SJS-29709: Worksheet fix: Are autoFitRows and autoFitColumns methods optimized to only calculate used ranges?
  • SJS-29724: Worksheet fix: Date Pasted in Italian Culture Is Parsed as English Format After Applying Format
  • SJS-29729: Workbook fix: Change default JP font of "Office" theme.
  • SJS-29736: Calculation Engine fix: The formula does not calculate as expected.
  • SJS-29754: Excel IO fix: Undefined length error when saving or exporting large dataset
  • SJS-29811: Report Sheet fix: [ReportSheet] Refresh() after RenderMode() returns an error.
  • SJS-29816: Calculation Engine fix: The spreads getPrecedents method does not support cross workbook formulas
  • SJS-29826: Designer Component fix: CSS Leakage from SpreadJS "disabled" Class Affecting Global Input Styles
  • SJS-29840: Calculation Engine fix: The result of the dot operator is null or undefined, and the calculation result is CalcError
  • SJS-29843: Calculation Engine fix: Formula results in a #Value! error when an XLSX file loads in SpreadJS

  • SJS-16589: Calculation Engine fix: set printArea make AsyncFunction recalc 4 times
  • SJS-23325: Designer Component fix: Set "Print entire workbook" as the default option
  • SJS-23351: Designer Component fix: Cell Style display error when theme color is set
  • SJS-25847: Report Sheet fix: When there is no indentation and when there is one indentation, the preview effect is the same
  • SJS-27936: Data Validation fix: DataValidator reference does not change after change sheet named excel
  • SJS-28146: Calculation Engine fix: Non-volatile Async Custom Function calculates the second time Print tiles are set.
  • SJS-29053: Designer Component fix: Font Style Are Overridden to default in SpreadJS when applying the conditional formatting
  • SJS-29186: Designer Component fix: Change the function name in lamda dialog as per language
  • SJS-29457: Calculation Engine fix: Incorrect Formula Evaluation After Excel Import – SUMIF with Entire Column Reference and Use of addRows
  • SJS-29461: DataChart fix: Changing chart type should not remove the existing bindings.
  • SJS-29486: TableSheet fix: Styles Not Persisting in Exported Excel File from TableSheet
  • SJS-29490: Worksheet fix: The areas obtained by getUsedRange is incorrect
  • SJS-29519: Filter fix: Filtering text that contains whitespace characters works differently than in Excel.
  • SJS-29548: GanttSheet fix: [Designer Component]{v18.0.7} Adding/Editing GanttSheet Task Breaks Workbook Grid and Sheet Tabs
  • SJS-29608: SJS Server fix: tag lost in collaboration save
  • SJS-29617: SJS Server fix: page empty when other user set pivot field in Collaboration
  • SJS-29623: SJS Server fix: row tag not delete when collaboration
  • SJS-29625: Worksheet fix: TypeError is thrown on calling moveTo method
  • SJS-29697: Designer Component fix: Cell Format Dialog stops working on copied rows from TableSheet
  • SJS-29704: Calculation Engine fix: Import of sjs file failed
  • SJS-29714: Report Sheet fix: The data source panel cannot search for fields.

  • 28168: Worksheet fix: Support for drag drop of data range
  • 28290: Shapes fix: The `toImageSrcSync()` method can only obtain the Base64 strings of some of the images in the sheet.
  • 28520: Calculation Engine fix: The calculation results of the calculation worksheet and calculation are different.
  • 28565: Calculation Engine fix: Conditional formatting does not display consistently with Excel.
  • 28588: Calculation Engine fix: Cell reference is not updating
  • 28673: Calculation Engine fix: String In Date Format Will Regard As Date Value In SumIf Function
  • 28707: Events fix: When worksheet is protected, clicking the row header or column header will also pop up the "Cell protected" prompt
  • 28733: Comments fix: Import file annotations cannot be viewed
  • 28772: Calculation Engine fix: Formula String Lost After Import Xlsx To SpreadJS
  • 28821: Report Sheet fix: File import and preview take a long time.
  • 28880: Tables fix: Abnormal insertion of camera shape.
  • 28889: ConditionalFormatting fix: Conditional formatting not being displayed correctly when importing Excel file in SpreadJS designer
  • 28927: Demos update: Remove Vue2 Demos (now only Vue3 are hosted)
  • 28935: Calculation Engine fix: Inconsistency with Excel's calculation.
  • 28986: Tables fix: After the table is bound to Data Manager, an exception occurs after clearing the filter.
  • 29025: PivotTable fix: The pivot table does not refresh correctly after modifying the name of value field
  • 29054: Report Sheet fix: An error of "getCells undefined " occurred when importing sjs
  • 29065: Designer Component fix: Custom font family list take no effect from v18.0.3.

  • 10757: Charts fix: Removed Legend is still displayed on Spread sheet when importing from Excel.
  • 27357: Feature: Support Windows Server 2025
  • 27994: Designer fix: The page margin data on designerUI is wrong
  • 28128: Designer fix: After setting a custom style to a cell, the cell cannot be edited in formula editor.
  • 28203: Calculation fix: Unexpected Behavior of totalCellCount in the calculationProgress Event
  • 28220: Calculation fix: The calculation result of the WORKDAY function is inconsistent with Microsoft Excel.
  • 28225: Calculation fix: SLN formula problem
  • 28292: Style fix: Conditions under which column widths can be adjusted automatically
  • 28514: Calculation fix: Result of formula is inconsistent with Excel.
  • 28519: Designer fix: We Can Insert PivotTable To A Protected Sheet
  • 28553: DataChart fix: Enum member of StringOperator is not correct in API Reference.
  • 28554: DataChart fix: Legend title of DataChart cannot be changed.
  • 28564: Excel IO fix: includeBindingSource has no effect after setting columnHeadersAsFrozenRows.
  • 28658: Report Sheet fix: The problem of hiding columns in the reportsheet
  • 28678: Style fix: From 17.0.2, using undo after inserting a row, cell types and background colors is cleared.
  • 28692: Report Sheet fix: The paginationLine do not match the pagination results of the ReportSheet.
  • 28706: Excel IO fix: FilterDialog problem
  • 28711: Report Sheet fix: The context menu in the ReportSheet incorrectly includes the option to delete hyperlinks.
  • 28719: Calculation fix: Set formula and Undo does not return.

  • 23868: PivotTable Fix: The text center alignment style in a PivotTable did not work correctly
  • 27960: Conditional Formatting Fix: The conditional format was not taking effect after ExcelCompatbleCalcMode was turned on
  • 27966: Fix: The SpreadJS would display as blank in some circumstances
  • 28100: Designer Fix: Adding a comment that contains a quote incorrectly changes it to """
  • 28155: Fix: A formula in the Name Manager incorrectly changes the list separator in a different culture
  • 28170: Fix: Shortcut keys could still be used when a cell was locked
  • 28224: Fix: Dialog and text tip position were incorrect in the Wujie framework
  • 28230: Fix: Entering a full-width number in a cell with percentage formatting would result in an incorrect value
  • 28301: Fix: Hierarchy icons would disappear after refreshing a table
  • 28328: Excel IO Fix: Memory was not released after importing an Excel file with a lot of charts
  • 28330: Fix: Setting #¥&* as the format string in a cell will cause a rendering error
  • 28337: Calculation Fix: Formatting was inconsistent after modifying a formula
  • 28371: Table Fix: Automatic expansion would not work properly
  • 28377: Excel IO Fix: Some formatting and values were not imported correctly
  • 28379: Fix: Custom sorting did not work as expected
  • 28384: PDF Fix: WordWrap would disappear after exporting to PDF
  • 28424: Table Fix: Switching the column binding path of a table would reset the headers
  • 28437: Excel IO Fix: Some files saved from SpreadJS would be corrupted
  • 28439: Performance Fix: Adding a DataChart in a ReportSheet caused some performance issues
  • 28471: PivotTable Fix: Switching a PivotTable could not be bound to an event

  • 27253: Excel IO Fix: An exported XLSX file would not open correctly
  • 27783: Calculation Fix: Some custom functions did not work correctly
  • 27962: Excel IO Fix: An exported XLSX file was inconsistent with the original content
  • 28093: Fix: A character displayed in vertical mode was inconsistent
  • 28113: Performance Fix: There were some performance issues compared to older versions
  • 28114: Excel IO Fix: The conditional formatting settings box were displayed incorrectly once exported
  • 28130: Chart Fix: Setting the fill color for the legend and series of a chart had no effect
  • 28144: Performance Fix: There were performance issues with loading a specific SJS file
  • 28145: ReportSheet Fix: There was an issue with the corner fold decoration
  • 28169: PivotTable Fix: There were performance issues with large row quantities
  • 28176: PivotTable Fix: Dragging a PivotTable caused incorrect styles to be set
  • 28177: Excel IO Fix: Custom properties were lost after importing an XLSX file
  • 28182: Fix: There was a discrepancy between versions for table.getDirtyRows()
  • 28183: Excel IO Fix: XML parsing errors would happen when saving a specific XLSX file
  • 28202: Fix: Hidden filter buttons would incorrectly appear after cutting and inserting certain columns and cells
  • 28207: Fix: Scrollbar size would not reset after deleting a row and undoing the deletion
  • 28211: Fix: Table columns could not be deleted if a table only contained a header
  • 28213: Fix: Tables would not display filter buttons in certain circumstances
  • 28215: Excel IO Fix: Exporting an XLSX file with a PivotTable would cause some issues
  • 28221: Fix: There were some issues with drag filling
  • 28262: Calculation Fix: The COUNTIFS function was incorrect
  • 28292: Fix: Some column widths would not adjust automatically
  • 28300: ReportSheet Fix: The ReportSheet Wizard did not work as expected
  • 28312: Fix: The SpreadJS CSS was incorrectly affecting other elements on a page
  • 28333: ReportSheet Fix: The ReportSheet Wizard limit was incorrectly set to 20 columns

  • 23338: Fix: A template preview effect was not consistent
  • 26706: Chart Fix: A border would incorrectly disappear when "Invert if Negative" was enabled
  • 26920: Excel IO Fix: Grouping was lost after importing an Excel file
  • 26939: PivotTable Fix: An exception was thrown when a PivotTable was refreshed
  • 27093: PivotTable Fix: Creating a PivotTable did not trigger the activeSheetChanged event
  • 27409: Localization Fix: Japanese resources were not properly applied in an exported Excel file
  • 27428: Fix: Arrow key navigation was slow
  • 27477: Excel IO Fix: The font color in a table would change after exporting to Excel
  • 27543: Fix: The transpose pasting effect was inconsistent with Excel
  • 27873: Excel IO Fix: Column width would become wider after importing an Excel file in MacOS
  • 27885: Excel IO Fix: Form protection would be lost after importing a file
  • 27967: PivotTable Fix: Dynamically introducing PivotTable resources incorrectly shows the panels in English
  • 28029: ReportSheet Fix: An issue was occurring with date filters in a ReportSheet
  • 28030: Fix: The padding text for a cell resulted in an incorrect font style
  • 28034: Fix: Conditional formatting formula incorrectly applied a prefix
  • 28035: Fix: Color is list after using auto wrap in Rich Text
  • 28036: Fix: A red mark would appear in the corner of a cell when modifying the value in preview mode
  • 28053: ExcelIO Fix: Footer image sizes change when exporting to Excel
  • 28090: Fix: Different values of a bound column could not be edited
  • 28093: Fix: Vertical mode character display was inconsistent with Excel
  • 28098: Fix: Adjust the top row height doesn't trigger the TopRowChanged event
  • 28103: Doc Fix: API documentation was incorrect
  • 28104: GanttSheet Fix: The FinishData was incorrect in the "Project Information" dialog
  • 28108: Performance Fix: A PivotTable had some performance issues
  • 28115: Fix: In some circumstances filter items would not appear in a filter box
  • 28118: Fix: Some definitions were missing in gc.spread.sheets.d.ts
  • 28120: TableSheet Fix: A definition regarding TableSheet was missing in the definition file
  • 28122: Fix: Font names were not matching between the ribbon and a dialog
  • 28126: Fix: The linked cell value of a checkbox did not correctly set the checkbox
  • 28129: PivotTable Fix: Setting a number format would throw an error
  • 28131: ReportSheet Fix: Exporting a ReportSheet to PDF caused issues
  • 28132: Fix: The async function was incorrectly evaluated every time a row was added to a table
  • 28133: TableSheet Fix: AllowExtendPasteRange was not working as expected
  • 28140: Calculation Fix: The INDIRECT formula was not working correctly
  • 28150: Shape Fix: Shapes are not displayed correctly in some circumstances with the addPicutreShape method
  • 28154: Documentation Fix: A documentation page was incorrect
  • 28178: Excel IO Fix: Exporting an automerged cell with source binding caused issues in the Excel file
  • 28188: Fix: SetDataSource with a field name that contained Chinese characters would cause it to fail
  • 28191: Fix: The page would crash in some circumstances after modifying cell values
  • 28195: Excel IO Fix: Using the BC_CODABAR formula would sometimes cause crashes when exporting
  • 28199: Fix: Setting cancel to true in the ClipboardPasting event would cause issues in some circumstances
  • 28204: TableSheet Fix: A value was not updating in the TableSheet after cancelling a paste

  • 26221: Export Fix: Style was inconsistent after exporting to Excel
  • 27438: Table Fix: Setting column formulas in a table was slow
  • 27775: Fix: Tooltips were not displayed when hovering over a merged cell in a row header
  • 27781: Accessibility Fix: Expand and Collapse buttons needed more contrast
  • 27811: Fix: Moving a parent heirarchy up and down caused issues
  • 27926: Table Fix: Table header pastes were inconsistent if there was a duplicate column name
  • 27931: Fix: There was an issue with percentage data
  • 27932: Export Fix: Some conditional formatting could be rendered in SpreadJS but would not show in Excel
  • 27940: Fix: Content copied from WPS and pasted into SpreadJS was not correct
  • 27984: Fix: Drag filling a block did not trigger the print line change
  • 27987: Fix: The copy and cut methods of the TouchToolStrip can now be overriden via commands
  • 27990: Fix: Copying content from DingTalk documents to SpreadJS causes a table area to turn white
  • 27991: Chart Fix: Zero-distance display of data labels in a column stacked chart caused issues
  • 27992: Export Fix: A combo box bound to a data source did not correctly display the text when exported to Excel
  • 27997: Fix: In preview mode, clicking print when there is a data-bound combo box would incorrectly show the data as empty

  • 24597: Calculation Fix: After modifying a value, a formula would not calculate
  • 26238: Calculation Fix: The result of a formula was not displayed correctly
  • 26935: Shape Fix: A picture shape of frozen rows was visible when hiding rows
  • 26946: Shape Fix: A camera shape was having an issue with QR codes
  • 27072: ExcelIO Fix: A cell's foreColor was changing in a Pivot Table after exporitng
  • 27323: Fix: A header image was not correctly displaying in WPS
  • 27364: Chart Fix: A chart position was incorrect when rows were hidden while events were suspended
  • 27439: Fix: Scaling the worksheet size incorrectly altered the text layout in an area camera shape
  • 27491: Chart Fix: A chart's percentage label was not displayed correctly
  • 27509: File Fix: A specific SJS file could not be opened
  • 27536: ExcelIO Fix: The autoFitColumn feature did not work after importing an Excel file
  • 27626: Chart Fix: A pie chart was incorrectly converted to a bar chart
  • 27653: Calculation Fix: Formula results were inconsistent
  • 27674: Chart Fix: A char was not displayed correctly after importing an Excel file
  • 27686: Calculation Fix: A formula was not automatically calculated after importing a file
  • 27706: Fix: Formulas could not be copied using the copyTo method
  • 27727: ExcelIO Fix: An error occured when exporting to XLSX
  • 27734: Calculation Fix: The WORKDAY formula was giving a different result compared to Excel
  • 27745: Calculation Fix: The VLOOKUP formula with a Wildcard Character was giving a different result compared to Excel
  • 27746: Fix: An issue was happening with the DataSource table column visible property
  • 27748: Fix: ReportSheet image formats were not working correctly
  • 27764: Fix: After filtering, data that was pasted into other sheets was incorrectly changed
  • 27778: Performance Fix: Copying and pasting was slow with hidden rows
  • 27779: Fix: Pixel based scrolling would cause display issues
  • 27784: Table Fix: Table resizing was not working
  • 27787: PDF IO Fix: The font in the area snapshot of an exported PDF was changed
  • 27793: Designer Fix: A data source field was incorrect
  • 27807: ExcelIO Fix: Rendering of an imported chart was incorrect
  • 27814: PivotTable Fix: An ampersand was not correctly displayed when re-opening a workbook with a PivotTable
  • 27859: Fix: The CalcArray.toArray result was not correct in certain circumstances
  • 27876: Fix: The toggleCollapseState API was not working correctly
  • 27890: Fix: Setting incrementalLoading when using fromJSON threw an error