近日,SpreadJS v16.0正式发布,推出了 SpreadJS「新文件结构」,是最近几个版本中最为重要的架构级更新,不仅大幅减少了文档体积,更是将导入导出性能平均提升了50%,为未来的协同编辑打下了架构级的基础支撑。想了解这一新特性的细节,请继续阅读以下内容:
基本功能
随着越来越多的客户使用 SpreadJS,我们收到了越来越多的大数据量复杂格式文件的用户案例。这些大的文件给产品性能带来了新的挑战。SpreadJSv16.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 模型来转换为 ExcelXML。使用这种新格式,SpreadJS 转换为 .SJS,这是一种类似于 Excel XML 的特殊 JSON 模式,因此可以直接转换:
以下是比较 .SSJSON 和 .SJS 示例文件的一些性能数据:
打开文件的时间(单位:毫秒)
保存文件的时间(单位:毫秒)
#FormatImgID_2#
除了时间改进外,新文件格式还包括文件大小改进:
导出文件大小
#FormatImgID_3#
#FormatImgID_4#
使用选项导出文件大小
#FormatImgID_5#
在保存或打开新的 .SJS 文件时,这种新文件类型有几个不同的选项可供选择。这些包括:导入导出选项
导出选项
#FormatImgID_6#
导入选项
#FormatImgID_7#
#FormatImgID_8#
还有用于导入和导出不同文件类型选项的特定选项:
#FormatImgID_9#
设计器
文件 > 保存菜单下的设计器(组件和桌面)也支持这种新文件格式:
您也可以直接在设计器中打开这种新文件格式:
此外,旧文件格式可用于导入和导出,但已过时且已弃用:
如果您想直接体验这一新特性,请访问官方学习指南(https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/#/samples)
和在线表格编辑器(https://demo.grapecity.com.cn/SpreadJS/WebDesigner/)在线体验。
也可以点击在线示例:SpreadJS V16 vs V15(https://demo.grapecity.com.cn/spreadjs/demos/new-file-format-compare/index.html)导入Excel 文档性能比拼,直观感受 SpreadJS V15.0 与 V16.0 版本导入 Excel 的性能提升。