SpreadJS 15.2

Adds multi-select support to Table Slicer plus new Name Box component.
August 26, 2022
New Version

Features

Name Box Component

  • Added Name Box as a standalone component - The Name Box component is used to display selected ranges, items, named ranges, and create and navigate to custom names within a spreadsheet.

Workbook Enhancements

  • DataObject Cell Type - Added a new cell type to help with data presentation in the form of a DataObject Cell Type. This means that you can have special cells that are bound to data and selecting different properties of a data object is really easy.
  • Slicer Update - Enhanced slicers to be built using shapes, allowing for more easy-to-use slicer features to be implemented, such as Table Slicer Multi-Select.
  • Table Slicer Multi-Select - Added a multi-select option to the Table Slicer. With this feature, a customer can select certain items in a table slicer instead of just one or all items.
  • Selection Navigation Enhancement - Previously SpreadJS would cancel a selection when selecting multiple cells, entering data, and then pressing enter to move to the next cell. This has been changed to match Microsoft Excel behavior, so the selection now does not get removed.
  • Support Multiple Hover Styles in Different Ranges - Previously, you could define a hover style for cell ranges in a sheet so that when a user hovers over that row it shows a single style. With this enhancement, it is now possible to set different hover styles for multiple ranges.
  • InvalidOperation Event Locked Cell Enhancements:
    • The InvalidOperation event fires when specific invalid operations are performed by the user, such as:
      • Invalid sheet name change.
      • Changing part of an array formula.
      • Setting an invalid formula.
    • This event will now fire for a few more invalid user interactions:
      • Attempting to type in a locked cell.
      • Double-clicking a locked cell.
      • Cutting a locked cell.

Picture Shape Enhancements

  • Added new picture customization options, including:
    • Brightness.
    • Contrast.
    • Recolor.
    • Crop.
    • Transparency.
    • Geometry Types.
  • In addition to these new options, the Picture Format tab has also been added to the SpreadJS Designer so your users could take advantage of these new options using the SpreadJS Designer Component or your developers with the SpreadJS Designer desktop application.

Calculation Enhancements

  • Cross-Workbook Formula Source and Target - Added more information about the source and target references in the form of the new includeItemDetail parameter of the getExternalReferences function, that allows a developer to actually get the specific target row, column, and source ranges of a specific file to know exactly what cells that specific references are coming from.
  • Added new Microsoft Excel functions:
    • Text Manipulation functions - The three new text manipulation functions include:
      • TEXTBEFORE - Returns text that’s before the delimiting characters.
      • TEXTAFTER - Returns text that’s after the delimiting characters.
      • TEXTSPLIT - Splits text into rows or columns using the delimiters.
    • Array Manipulation functions - The eleven new array manipulation functions include:
      • VSTACK - Stacks arrays vertically.
      • HSTACK - Stacks arrays horizontally.
      • TOROW - Returns the array as one row.
      • TOCOL - Returns the array as one column.
      • WRAPROWS - Wraps a row array into a 2D array.
      • WRAPCOLS - Wraps a column array into a 2D array.
      • TAKE - Returns rows or columns from array start or end.
      • DROP - Drops rows or columns from array start or end.
      • CHOOSEROWS - Returns the specified rows from an array.
      • CHOOSECOLS - Returns the specified columns from an array.
      • EXPAND - Expands an array to the specified dimensions.
  • Relationship Display Formula - Added a formula that helps with displaying object relationship values.

TableSheet Enhancements

  • Updating Data without a Page Refresh - With this release data can be updated without refreshing the page through a new fetch method at the DataManager Table and View levels. Calling this will fetch the data from the data source and update the related TableSheets.
  • Getting Changed TableSheet Info - Added a getChanges method to fetch the items programmatically in a TableSheet that have changed. This new method returns an object array that has the following information:
    • Type of change - Update or insert for autoSync mode, and update, insert, or delete for bath mode.
    • Data item - The current row data.
    • Old data item - The original row data (optional).
    • Index - The TableSheet view index.
  • Load TableSheet Template without Data - SpreadJS TableSheets now support saving a template without including the TableSheet data, and then loading that data at a different time using the table’s fetch method. This essentially lets the developer create a TableSheet without having to specify the data initially, but then load the data at a later point, such as when that data changes.
  • ComboBox/MultiColumn List for Lookup Column - Lookup columns in SpreadJS TableSheets are columns that are marked as “lookup” in the data schema, and was made to support cross-column calculations. With this release, these lookup columns can automatically change the cell type depending on the data schema:
    • Column lookup as an array - Combo Box Cell Type.
    • Relationship lookup - Multi-Column List.
    • Relationship and column options in lookup - Multi-Column with with specified columns.

PivotTable EnableDataValueEditing

  • By default, cells within PivotTables in SpreadJS can’t be edited, only Pivot ranges, just like Excel. With this release, end-users are now able to edit PivotTable cell values and then update and reload the data source of a PivotTable to reflect the changes. For the developer, this is enabled with a property called pivot.EnableDataValueEditing.

New Framework Support

  • SpreadJS now includes support for the latest version of both React 18 and Angular 14.
Table Slicer multi-select

SpreadJS

Complete spreadsheet solution for JavaScript applications.

Got a Question?

Live Chat with our MESCIUS (formerly GrapeCity) licensing specialists now.