The following features have been added to this version of the product.
Chart Series LineType is now supported which allows users to customize the line type of data series in a chart.
Various detailed rendering options on Sparklines are provided. The Bullet, Hbar, Vbar, Pareto Sparklines, can be customized using these additional options.
Users can select multiple worksheets and apply hide or delete operations on them.
Hyperlink is supported where users can link any relevant information on a webpage, any range in the workbook, or even send an email.
Selection of multiple list items is now supported which allows users to select multiple options to form the drop-down list.
Percentage format in cells is supported to automatically add % sign in cells with percentage format, like Excel.
PDF files can now be exported from spreadsheets in black and white.
Custom sorting is supported which allows users to sort data based on their customized requirements like sorting based on software versions or clothing sizes etc.
Formulas in the cells can now be viewed using the ShowFormulas property. Using this, users can view as well as copy formulas to the clipboard from SpreadJS.
AutoSum functions are now supported in the Designer to calculate the range of cells on which it is to be applied, automatically, like Excel.
RangeChanged event is provided in SpreadJS API which is fired when a delete, drag-drop, or paste operation is executed on a table.
Automatic expansion of tables is supported to allow users to enable or disable table expansion.
The operation to insert cut or copied cells is supported which allows users to insert cut/copied cells using the context menu.
Dirty cell state is supported which changes a cell state to dirty when its value is changed. Using the dirty cell state, users can set any style on the cell when its state changes to dirty which helps in keeping an easy track of changes.
Format String is supported in SpreadJS which allows users to set the values and formulas in a cell at the same time. Using this feature, users can display numeric values as words, format a long display string, and much more.
Scrolling by pixel via code is now supported using which users can traverse to a specific viewport or cells containing desired data in a spreadsheet containing a large amount of data.
Chart Hidden row and column settings are supported which allow users to choose whether to show the data of hidden rows or columns in a chart or not.
Ellipsis or Tips for Cell Overflow is supported to display ellipsis when the cell content is longer than the column width. Also, the tips are displayed when the cell with ellipsis is hovered upon to show the complete content of the cell.
Date Axis is supported in charts which allow users to configure dates on the category axis by configuring it as the date (time-scale) axis.
Data Driven Shapes with Property Formulas are supported which allows the users to create dynamic shapes whose properties are evaluated through the expressions defined in the sheet, another shape, or a data source.
SpreadJS supports [$-ja-JP-x-gannen] formatter to display Japanese era "元".
Charts displaying #N/A cells as blank cells is now supported.
TableRowsChanged and TableColumnsChanged events are provided in SpreadJS API to handle the add or delete operations of table rows or columns with added support for undo operation.
The document properties of a file are now retained while importing or exporting through SpreadJS.
Compatibility Flag is added in SpreadJS to match the calculation results with Excel.
DBNum4 Formatter pattern is supported in Korean culture which automatically changes a number to Korean number.
SpreadJS Designer now supports "Add current selection to filter" option in the filter dialog.
'Calculate on demand' option is now available in SpreadJS Designer to enhance the calculation process.
SpreadJS Designer supports macOS Catalina.
Vue samples have been updated to latest CLI 3.
The latest version of React is supported.
The following issues have been resolved since the last release.
Chart styles are now consistent with Excel.
The series labels and their order in charts is consistent with Excel.
Input line break is supported in formula bar.
Filter dialog can be closed using 'Esc' key without explicitly setting focus on filter dialog.
Category names are displayed when category has more than one row.
Trendline formula now displays correctly.
Custom named range is now updated correctly during cut paste operations.
The chart format is now displayed correctly when the horizontal axis of the chart is in time format.
Spread Designer can now set style for column in formatter dialog.
Chart transparency is maintained after importing an Excel file into SpreadJS.
Extra rows or columns are not added during Excel import.
During Excel import, cell number formatter does not change from 'General' to 'Short Date'.
SpreadJS Designer buttons in all the dialogs are now enabled.
XIRR function now returns correct result as Excel.
SUMIFS formula does not return #REF! error with array formula.
Function SUMIF calculates correct results.
Font is consistent in rich text editor in online Excel editor.
The original tables are cleared after invoking sheet.fromJSON().
Formula =VALUE("100:30")*24 produces correct result as Excel.
In Internet explorer, cells can be selected using cursor key while editing formula in a cell.
Undo operation now restores a shape correctly.
While using filter dialog, Clear is not applied on column sorting.
Performance issue on extending a table is fixed.
Fuction STDEVA calculates the correct value when ssjson file is imported.
In SpreadJS designer, when a cell is set to slider and value of step is set to 0.1, the slider works fine.
Date formatted text can now be treated as Date value.
A shape is rendered correctly after rotating or changing its size and then saving/restoring it from JSON.
A shape is rendered correctly after rotating or changing its size and then applying copy/paste operation.
When a Shape is selected and deleted (by repeating the delete operaion quickly), the last shape is also deleted.
Reverse selection performance is improved in IE11.
CheckBoxList value is retained when exported to Excel.
Performance of expand or collapse button on row outline is improved.
Original style is retained when PrintLineVisible is set.
Binding table columns with empty data field now behaves correctly.
In macOS, ctrl+click can be used to perform right click operation.
In SpreadJS Designer, chart preview does not disappear after scrolling.
There are no content changes when Excel import and export is performed.
Formula result does not change after undo operation.
When an Excel file is imported and exported to pdf, the shape does not change.
IRR function now returns correct result as Excel.
Text inside a shape doesn't shift down when the width of shape is changed.
There is no page style error when two forms are set in online excel editor.
Function ROUND produces correct calculation results.
Correct formula results are calculated when they are used in cross sheets across a workbook.
AutoFit results are generated correctly.
Form style error is not thrown while setting data validation or freezing rows.
The total rows in a table is displayed correctly even after table binding is done.
Viewing a sheet no longer throws error when a cell value in the sheet is a string with space.
While building an Angular application in production mode, scroll using mouse wheel and double click to edit cell now works fine.
No error is thrown when an Excel containing a shape is imported to SpreadJS and again exported to Excel.
When scrollbarMaxAlign is set to true and any bottom row(s) is deleted, the viewport's top row is adjusted to enable top scrolling.
The rangeSelectMode works properly even when allowUserEditFormula is set to false.
List Validation containing an item with space is retained with space in the dropdown also.
Load performance in Vue is improved significantly.
Chart range is updated correctly during cut paste operation.
When an Excel file is imported to SJS, formulas are updated correctly.
The result of getViewportBottomRow is generated correctly when the browser zoom factor is changed.
The behavior of getDeleteRow and getInsertRow is consistent while performing undo operation.
Edate formula is resolved correctly in Firefox for text formatted values.
The SUMPRODUCT formula generates same result as Excel.
The table name is shown in autocomplete even in different sheets of a workbook.
In case of table binding, if a filter is added in a row and data is entered after the table, the filter is not reset.
In SpreadJS Designer, if large amount of data is pasted, the page does not freeze.
In SpreadJS designer, the text area of filter can also be clicked to select the items for filtering.
The format of cells is not changed when an excel file is imported to SJS and again exported to excel.
When borderWidth is set to to 0 or borderStyle is set to 'none' or 'hidden', the border is not set in exported Excel.
All the data labels are shown in SpreadJS as Excel.
When an Excel file is imported, the style and cell format are consistent.