SpreadJS 支持用户以极快的速度打开和保存大型文件,并能以多种格式导入或导出文件,包括 Excel(XLSX、XLSM、XLTM)、CSV、SSJSON(旧版 SpreadJS 格式)以及 SJS(新版高速 SpreadJS 格式)。其中,新的 SJS 格式在处理超大型 Excel 文件时,能显著提升加载速度、优化内存占用,且与旧版 SpreadJS 相比,重新保存文件时的体积大幅减小。
说明:
方法(Methods)
描述(Description)
加载 SpreadJS 文件。
保存 SpreadJS 文件。
将文件导出为 Excel(XLSX、XLSM、XLTM)、SSJSON、SJS 或 CSV 格式。
导入 Excel(XLSX、XLSM、XLTM)、SSJSON、SJS、CSV 或 JavaScript 格式的文件。
注意事项:
若将文件导出/保存为 .xlsx 格式或 SpreadJS 内部格式(.sjs、.ssjson),宏将不会被保留。
在 SpreadJS 中无法查看、编辑或执行宏。所有修改仅适用于工作簿数据,不影响宏代码。
在 SpreadJS 中修改工作表布局,可能会影响引用特定单元格地址的宏逻辑。
下文将详细介绍各类文件操作的具体实现方式。
可通过 open 方法在 Spread 中加载 SpreadJS 文件。该方法包含以下参数:
file blob:表示压缩后的电子表格数据文件。
successCallBack:文件加载完成后触发的成功回调函数,接收 JSON 作为参数。
errorCallBack:文件加载失败时触发的错误回调函数。
选项(Options)
描述(Description)
includeStyles
指示加载时是否包含样式,默认值为 true。
includeFormulas
指示加载时是否包含公式,默认值为 true。
fullRecalc
指示加载 JSON 数据后是否执行计算,默认值为 false。
dynamicReferences
指示函数是否支持动态引用计算,默认值为 true。
calcOnDemand
指示公式是否仅在需要时计算,默认值为 false。
includeUnusedStyles
指示将 Excel XML 文件转换为 JSON 时是否包含已命名样式,默认值为 true。
openMode
progress
以下代码示例展示如何执行文件打开操作:
可通过 save 方法保存 SpreadJS 文件,该方法包含以下参数:
successCallBack:SpreadJS 文件保存完成后触发的成功回调函数,接收 Blob 作为参数。
errorCallBack:文件保存失败时触发的错误回调函数。
保存选项(Save Options)
描述(Description)
includeBindingSource
指示保存文件时是否包含绑定源,默认值为 false。
includeStyles
指示保存文件时是否包含样式,默认值为 true。
includeFormulas
指示保存文件时是否包含公式,默认值为 true。
saveAsView
指示保存的文件是否忽略当前 Spread 的所有格式字符串,默认值为 false。
includeAutoMergedCells
指示保存文件时是否包含自动合并的单元格,默认值为 false。
includeCalcModelCache
指示保存文件时是否包含计算的额外数据,默认值为 false。
includeUnusedNames
指示保存文件时是否包含未使用的自定义名称,默认值为 true。
includeEmptyRegionCells
指示保存文件时是否包含已用数据范围外的空单元格,默认值为 true。
saveR1C1Formula
指示是否以 R1C1 格式保存公式,默认值为 false。
以下代码示例展示如何执行文件保存操作:
在 Spread 中,可将文件导出为 Excel(XLSX、XLSM、XLTM)、SSJSON、SJS 或 CSV 格式。
export 方法包含以下参数:
successCallBack:文件导出完成后触发的成功回调函数,接收 Blob 作为参数。
errorCallBack:文件导出失败时触发的错误回调函数。
选项(Options)
描述(Description)
FileOptions
ExportCsvOptions
ExportSSJsonOptions
ExportXlsxOptions
说明:
ExportXlsxOptions 中的 losslessEditing 属性用于控制导出 Excel 格式时是否保留无损内容(包括 XML 映射和包含宏的 VBA 项目):
设为 true(默认值)时,将保留宏和 XML 映射。
由于兼容性限制,导入到 SpreadJS 的 XML 内容(如 XML 映射)无法导出为其原生格式(如 SJS/ssjson)。
以下代码示例展示如何将文件导出为 XLSM 格式:
在 Spread 中,同样可导入 Excel(XLSX、XLSM、XLTM)、SSJSON、SJS 或 CSV 格式的文件。
若将文件导入到已包含无损内容(XML 映射和 VBA 项目)的 SpreadJS 工作簿中:
工作簿级重置:导入 SJS、SSJSON 或 Excel 文件时,所有工作簿范围的无损内容将被丢弃,并替换为导入文件的原生结构。
工作表级重置:导入 CSV 文件时,仅重置活动工作表的上下文,清除该工作表特有的无损数据,同时保留其他工作表中的无损内容。
import 方法包含以下参数:
file:待导入的文件,支持 SSJSON、SJS、CSV 或 Excel 格式(XLSX、XLSM、XLTM)。
successCallBack:文件导入完成后触发的成功回调函数。
errorCallBack:文件导入失败时触发的错误回调函数。
选项(Options)
描述(Description)
FileOptions
ImportCsvOptions
ImportSSJsonOptions
ImportXlsxOptions
说明:
ImportXlsxOptions 中的 Xlsx 指代 Excel(特指 XLSX 格式),该选项定义了 Excel 文件的导入配置。