4D View Pro: Update of SpreadJS version

4D v19 comes with a new a new version of SpreadJS and a new version of the ribbon. Besides the fresh look, we have added new features to support the new functionalities of SpreadJS v14.

This blog post walks you through these changes.

what’s new in THE ribbon

A new set of IconS

Check out the new style of the ribbon:

New features

This new toolbar brings new functionalities such as:

  • List of fonts: Contains all the fonts present on the client system.
  • Copy Images from Excel: Supports copying images from Excel and pasting them into sheets. The pasted image will have the same size, border, and background as it did in Excel.
  • Accessibility Support:  Provides adequate accessibility support for people using assistive technologies such as screen readers. For more information, refer to Accessibility support.
  • Comment Indicator Customization: Users can now change the color and size of the indicator.
  • Fill Effects and Patterns: Enhance cell appearance in a spreadsheet by applying pattern or gradient effects to the cells. For more information, refer to Pattern Fill and Gradient Fill.


What’s new in spreadJs v14

Incremental Loading

Incremental loading improves performance when working with large amounts of data. When the feature is enabled, SpreadJS loads values and formulas piece-by-piece in the background.

Comment Indicator Customization

Previously, the comment indicator appeared as a red triangle in the top right corner of the cell. SpreadJS v14 allows you to change its color and size.

HTML Export

Export cell ranges to HTML tables. Design report tables in SpreadJS and export them to HTML so that they look the same as they do in SpreadJS. Add these report tables to an HTML page and easily customize a report.

getRange API enhancement

Using the getRange API in previous versions, the row index, column index, row count, and column count were needed to get the specified cell range. SpreadJS v14 uses a more convenient parameter: the range address as a string.

Number Fit Mode

Set the display strategy for user-defined date and number types with the NumberFitMode option. This option has two enumeration options:

  • mask: enabled by default, displays “###” in place of numbers and dates that don’t fit in the cell
  • overflow: dates and numbers overflow into adjacent cells


Calculation Enhancements

SpreadJS v14 features an updated calculation engine with new functions and enhanced features. These enhancements include:

  • The OBJECT Function: This function lets users define an object from a set of property names and expressions. Objects can be used for data binding to other cells or as RangeCellType or RANGEBLOCK parameters.
  • The PROPERTY Function: This function lets developers parse an object by its properties.
  • Iterative Calculations: Also known as circular references, they help solve specific calculations by repeatedly using the previous result.
  • X and LET Functions: These new functions include XMATCHXLOOKUP, and LET, which allow users to create easy-to-read formulas and make calculations with large datasets.
  • The CONVERT Function: Supports several new units of the CONVERT function. Units include weight and mass, distance, force, pressure, temperature, volume, area, and binary prefixes.
  • Cascade Sparkline Total Column.
  • Header Formulas and SparklineEx: A column formula or sparkline in the header row is useful for summarizing a dataset in some cases.

New Charts and Enhancements

SpreadJS v14 includes new chart enhancements and a new chart type:

  • Funnel Charts
  • Axis Cross Points
  • Pattern Fill
  • Bar/Column Chart Gap Width and Overlap
  • Doughnut Chart Hole Size
  • Line Break in Charts
  • DataLabel Delimiter Options


For more information, take a look at What’s New in SpreadJS v14.

Fabrice Mainguené
• Product Owner •Fabrice Mainguené joined 4D Program team in November, 2016. As a Product Owner, he is in charge of writing the user stories then translating it to functional specifications. His role is also to make sure that the feature implementation delivered is meeting the customer need.After obtaining a Bachelor degree in Computer Science at CNAM, Fabrice joined a small software publishing company as a Windev developer. Then he worked for different companies in industry and trade areas as a Windev and web developer as well as technical advisor on new features.