右手微笑 发表于 2023-3-7 16:54:31

【16.0.3】使用excelIo.save导出报错,【SJS-17308】

本帖最后由 Lynn.Dou 于 2023-3-8 10:14 编辑

使用excelIo.save实现导出,报错“文件格式错误“
导出代码如下

private saveExcel() {
// 保存Excel.
var excelIo = new GC.Spread.Excel.IO();
var json = this.spread.toJSON();
excelIo.save(json, (blob) =>{
    console.log('blob:',blob)
   
}, (e) => {
    console.log(e);
});
}


文档只是简单的有几个单元格有字符,

但是导出excelIo.save总是报错

Richard.Ma 发表于 2023-3-7 17:30:40

没能重现你说的问题

你可以把你的代码中这句
var json = this.spread.toJSON();
生成的json保存为文件上传上来。我测试一下看看

右手微笑 发表于 2023-3-7 17:51:04

Richard.Ma 发表于 2023-3-7 17:30
没能重现你说的问题

你可以把你的代码中这句


已经放到附件中了

Ellia.Duan 发表于 2023-3-7 18:15:32

本帖最后由 Ellia.Duan 于 2023-3-8 09:45 编辑

您好,此问题已复现,这边将深入调研下此原因。问题编号:【SJS-17308】在此期间,您可以通过如下代码导出excel文件

const fileName = 'exportExcel.xlsx';
            spread.export(function (blob) {
                saveAs(blob, fileName);
            }, e => {
               console.log('失败', e.errorMessage);
            }, {
                fileType: GC.Spread.Sheets.FileType.excel,
                includeBindingSource: true
            });注意导入gc.spread.sheets.io文件

右手微笑 发表于 2023-3-8 15:44:26

Ellia.Duan 发表于 2023-3-7 18:15
您好,此问题已复现,这边将深入调研下此原因。问题编号:【SJS-17308】在此期间,您可以通过如下代码导出e ...

spread.export这个方法是一直可用,还是只是暂时可用,它跟excelIo.save这个方法有什么区别

Lynn.Dou 发表于 2023-3-8 17:38:41

在V16中,SJS提供了全新的文件格式,在此基础上对保存save 和 导出 export 也做了区分。
save 的是 sjs格式文件。
export 的为xlsx、ssjson、csv格式文件。
学习指南有相关介绍,供参考:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/spreadjs-file-format/overview/purejs
关于您贴中反馈的问题,目前正在调研中,有进展会第一时间贴中通知您。

Ellia.Duan 发表于 2023-3-9 09:31:13

您好,如楼上所言,spread.export是v16版本推出的新接口 ,您可以参考这篇文章
https://www.grapecity.com.cn/blogs/new-file-formats-in-spreadjs-v16
如下图所示,spread.export 会比excelIo.save减少一个步骤,性能也会有所提升。



关于您反馈的问题,会在下一个版本v16.0.5中修复,待这个版本修复后,您可以下载测试下,对比两个方法的性能。

Clark.Pan 发表于 2023-4-4 10:52:45

您好,该问题V16.0.5已经修复,您可以下载新版本进行验证
页: [1]
查看完整版本: 【16.0.3】使用excelIo.save导出报错,【SJS-17308】