SpreadJS V18.2 版本在导入导出功能方面带来了两项重要更新,进一步增强了与 Excel 的兼容性,为用户提供更流畅的工作体验。
无损 XML 映射导出
新版本引入了losslessEditing属性,这一特性能够在 Excel 导出过程中保留宏和 XML 映射,确保在往返操作场景下的数据完整性。无论您是将 SpreadJS 中的内容导出到 Excel,还是之后重新导入,关键的宏和 XML 映射信息都不会丢失,极大提升了数据流转的可靠性。
ExportXlsxOptions中的 Xlsx 指代 Excel(特指 XLSX 格式),该选项定义了 Excel 文件的导出配置。可通过 excelFileType 属性(继承自GC.Spread.Sheets.ExcelFileType)选择支持的格式——XLSX、XLSM 或 XLTM,默认格式为 XLSXExportXlsxOptions中的losslessEditing属性用于控制导出 Excel 格式时是否保留无损内容(包括 XML 映射和包含宏的 VBA 项目):设为 true(默认值)时,将保留宏和 XML 映射。- 由于兼容性限制,导入到 SpreadJS 的 XML 内容(如 XML 映射)无法导出为其原生格式(如 SJS/ssjson)
支持 XLSM 和 XLTM 文件格式
除了已支持的 XLSX 格式外,SpreadJS V18.2 还新增了对 XLSM 和 XLTM Excel 文件格式的支持。虽然 SpreadJS 不会执行任何宏,但您可以导入和导出 Excel 宏启用工作簿(XLSM)和宏启用模板(XLTM)文件,并保留宏定义,从而实现与 Excel 工作流的无缝集成。
这一更新使得使用宏的用户能够更方便地在 SpreadJS 和 Excel 之间传递文件,无需担心宏定义丢失,大大提升了工作效率。
- 宏可能传播恶意软件,因此 Excel 会将来自互联网的启用宏文件标记为不可信。在 Excel 中打开从 SpreadJS 导出的宏工作簿时,需先启用宏,否则宏无法运行。详情请参阅:默认阻止 Internet 宏 | Microsoft Learn。
- 若将文件导出/保存为 。xlsx 格式或 SpreadJS 内部格式(。sjs、.ssjson),宏将不会被保留。
- 在 SpreadJS 中无法查看、编辑或执行宏。所有修改仅适用于工作簿数据,不影响宏代码。
- 在 SpreadJS 中修改工作表布局,可能会影响引用特定单元格地址的宏逻辑。