本帖最后由 Clark.Pan 于 2023-7-18 14:03 编辑
V16.0新增了sjs的文件格式,由此对文档结构进行了重购以提升效率。在导入导出Excel功能上也用了新的解析方式(摒弃了之前版本需要转换成ssjson的方式)。
但是目前这种解析方式不支持导入带有密码的Excel文件(导入带密码Excel文件的实现方式经过测试发现有安全漏洞,所以没有发布)。当然后续会继续调研找一个安全的方式来进行支持。但是目前这个阶段如果用户想要导入一个带有密码的Excel文件,就只能使用V16之前ExcelIO.open的方式去导入了。
基于上述情况,在线表格编辑器的UI提供的导入导出功能是基于新版本的导入导出方式,没有输入密码导入的功能。
所以我们需要通过代码对在线表格编辑器进行修改,将老版本的导入导出接口放出来。可以通过下面的代码进行实现:
- let DesignerNS = GC.Spread.Sheets.Designer, fileMenuTemplateName = DesignerNS.TemplateNames.FileMenuPanelTemplate;
- let template = DesignerNS.getTemplate(fileMenuTemplateName), targetNode = template.content[0].children[0].children[1];
- targetNode.children[1].children[1].children[0].children[0].items.splice(1,0,{text:"ExcelIO", value:"Excel IO"});
- targetNode.children[2].children[1].children[0].children[0].items.splice(1,0,{text:"ExcelIO", value:"Excel IO"});
- DesignerNS.registerTemplate(fileMenuTemplateName, template);
复制代码
设置了上述代码后,菜单中就会出现ExcelIO选项,在这里可以用以前的方式进行Excel文件导入,该方式支持输入密码进行导入。
导出功能也是同理。
|
|