JavaScript TableSheet and Data Manager

TableSheet

TableSheet, a new component of SpreadJS, is a separate, high-performance DataTable that incorporates the power of a spreadsheet calculation engine to handle your most demanding data binding needs. This combination includes the features you would expect from an enterprise data table with the added benefits of a spreadsheet look and feel, plus powerful calculation results.

This quick, data-bound view also includes a new relational SpreadJS Data Manager that makes sorting, filtering, and other data management functions incredibly fast.

Data Binding

TableSheet provides faster sheet binding and is optimized for performance on large datasets—making it quicker than any other data table. Users can use the panels at runtime to easily adjust the views for columns and groups of data, or add, remove, save, or reset rows. Perform searches easily using the search box.

Calculations

Use the enhanced calculation engine to add calculated columns to a TableSheet with simple column references, advanced summaries, and logical functions.

Saving

Like normal SpreadJS worksheets, you can export TableSheet instances to JSON, Excel .xlsx, and PDF files.

Styles

Similar to SpreadJS, TableSheet supports data-bound conditional formatting, data validation, alternating row styles, and state and column styles. Optionally pin rows and columns to the top and sides of the TableSheet to ensure visibility. Conditional formatting and its related rules are also based on the bound data values, rather than cell values.

Integration with SpreadJS

Although different from a standard SpreadJS sheet in a workbook, TableSheets can be seamlessly added to the workbook. Cross-reference formulas in a worksheet and summarize data in a TableSheet.

Data Manager

The SpreadJS Data Manager is a powerful new data engine API built for performance—making connecting and interacting with bound data more straightforward than ever before.

Manage actions, such as data binding, relationships, sorting, filtering, grouping, or aggregating, and synchronize real-time data back to the database. The SpreadJS calculation engine provides next-level support for grid calculations at the row, group, and data levels. The Data Manager serves as the data core of the application and sends requests to fetch data when needed.

TableSheet also supports remote sources like REST API, OData, GraphQL, and local sources, including object array for JSON, a string for CSV, or XML.

Bind with TableSheet

One advantage of the Data Manager is that it can retrieve data from a data source, create a table for it, and bind it to TableSheet. Create views to specify which data fields to retrieve and use in the TableSheet.

Using TableSheet and the Data Manager in conjunction provides additional functionality, such as support for custom cell data types, which can project data-bound cells or formula references. You can also use TableSheet to automatically update the data source in batches with AutoSync or Batch update modes.