[]
        
(Showing Draft Content)

Excel Compatibility

SpreadJS converts between Excel What‑If Analysis data tables and SJS.TABLE formulas during import and export.

Import from Excel

When opening an Excel workbook that contains What‑If Analysis data tables, SpreadJS converts each data table into an equivalent SJS.TABLE formula.

The resulting formula type depends on the Excel file version and the allowDynamicArray setting.

Excel File Type

allowDynamicArray

Result in SpreadJS

Created with Excel 2019 or earlier

false

Imported as a legacy array formula, enclosed in {}.

Created with Excel 365 or later

true

Imported as a dynamic array formula that spills automatically.

In both cases:

  • The calculated results from the original Excel file are preserved.

  • The formula recalculates normally in SpreadJS.

Export to Excel

When exporting a SpreadJS workbook, SpreadJS attempts to convert each SJS.TABLE formula into a native Excel data table.

If conversion succeeds:

  • The generated .xlsx file contains a standard Excel data table.

  • The file opens and behaves as expected in Excel.

If conversion fails:

  • The SJS.TABLE formula is preserved in the exported file.

  • Excel displays the formula text but does not recognize it as a native data table.

Conversion is performed on a best-effort basis and is subject to Excel’s structural limitations.

Conditions That Prevent Conversion

Conversion from SJS.TABLE to an Excel data table fails when any of the following conditions are true:

  • The formula contains cross-sheet references.

    (Excel data tables do not support references to other worksheets.)

  • The formula contains more than two inputs / input_cell pairs.

    (Excel supports only one-variable and two-variable data tables.)

  • Any referenced range cannot be resolved to a valid worksheet address.

  • The input value ranges are not structurally aligned with the data table layout required by Excel

    (for example, missing the top row or left column structure).

  • An input_cell falls inside the data table result area

    (except for the top-left position in a one-variable table).

Tip:  If round-trip Excel compatibility is required, limit SJS.TABLE usage to one or two input pairs and avoid cross-sheet references.

Functional Limitations

The following limitations apply regardless of Excel compatibility.

Async Functions

SJS.TABLE does not support use with asynchronous functions.

If result_reference, or any of its dependent cells, contains an async function that relies on defaultValue or setAsyncResult, the returned results may be unpredictable.

Use only synchronous formulas within a data table calculation.

Calc Worker Support

SJS.TABLE is fully supported when running inside the SpreadJS Calc Worker. No additional configuration is required.