https://www.toutiao.com/article/7213570806071165473/
近日,SpreadJS v16.0正式发布,推出了 SpreadJS 「新文件结构」,是近几个版本中最为重要的架构级更新,不仅大幅减少了文档体积,更是将导入导出性能平均提升了50%,为未来的协同编辑打下了架构级的基础支撑。想了解这一新特性的细节,请继续阅读以下内容:
基本功能
随着越来越多的客户使用 SpreadJS,我们收到了越来越多的大数据量复杂格式文件的用户案例。这些大的文件给产品性能带来了新的挑战。SpreadJS v16.0版本中开始正式采用一种新的文件格式来解决这个问题。这种新的 .sjs 格式是一个压缩文件,其中包含多个较小的 .JSON 文件,类似于 Excel 的 XML 结构。
这种新结构能够支持大型 Excel 文件并将它们导出为体积更小的文件。另外,如果一个Excel文件中有很多工作表,您可以实现快速地按需加载工作表。要使用这种新文件格式,您不再需要导入 ExcelIO 模块,而是导入 IO 插件即可:
这种新格式可以像 SpreadJS 的 .SSJSON 文件一样导入和导出,一旦加载到 SpreadJS 中,它就可以作为 .XLSX 文件导出到 Excel。需要注意的是,这种新格式是可选的,您仍然可以使用 .SSJSON 文件。但如果您希望得到更小的文件体积和更快的性能,那么我们建议您使用 .SJS 文件格式。
除了导出到转换为工作表的 Excel 之外,SpreadJS还支持使用 集算表(TableSheets) 打开和保存新文件格式。
性能提升
新文件格式的引入,让 SpreadJS 拥有了更高的导入导出性能和更小的文件体积,因为它摒弃了导出到 SSJSON 然后转换为 Excel 模型的方式,直接将数据添加一个压缩的 .SJS 文件中,其中包含一些较小的 .SSJSON 文件,类似于 Excel XML 结构。
以前,ExcelIO Import 和 Export 本质上依赖于特殊的 JSON 和 Excel 模型来转换为 Excel XML。使用这种新格式,SpreadJS 转换为 .SJS,这是一种类似于 Excel XML 的特殊 JSON 模式,因此可以直接转换:
以下是比较 .SSJSON 和 .SJS 示例文件的一些性能数据: