找回密码
 立即注册

QQ登录

只需一步,快速开始

前端小蚂蚁
注册会员   /  发表于:2023-6-14 13:39  /   查看:2447  /  回复:17
2金币
使用excelIO.open()这个api方法加载excel, 报文件格式错误提示,实际表格在其他地方是可以打开的,是什么原因呢?
问题很紧急,项目赶进度,希望大神能速指点!








使用的是这个方法:
var workbook = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));var excelIO = new GC.Spread.Excel.IO();var excelFile = document.getElementById("fileDemo").files[0];excelIO.open(excelFile, function (json) {   workbook.fromJSON(json);}, function (e) {   console.log(e); //  文件格式错误}, {   password: "password",   importPictureAsFloatingObject: false});

17 个回复

正序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-6-15 11:45:04
18#
前端小蚂蚁 发表于 2023-6-15 11:25
你说的没错,在open函数中做的所有操作,如果出现了异常,都会报“文件格式错误”,那我分析下代码了,exce ...

好的,谢谢您的理解,问题顺利解决了就好,那就先结贴了,后续有问题随时开贴提问哈。
回复 使用道具 举报
前端小蚂蚁
注册会员   /  发表于:2023-6-15 11:25:18
17#
你说的没错,在open函数中做的所有操作,如果出现了异常,都会报“文件格式错误”,那我分析下代码了,excel文件能正常导入,谢谢了,用了这么长的时间发现这个问题
回复 使用道具 举报
前端小蚂蚁
注册会员   /  发表于:2023-6-15 11:02:32
16#
Image_20230615110107.png479017333.png

Image_20230615110147.png265415648.png
同一个文件,一个没有错,一个是文件格式错误
回复 使用道具 举报
前端小蚂蚁
注册会员   /  发表于:2023-6-15 10:56:32
15#
因为这个文件是受控的,不能外发,我要说的是同一个excel文件,在不同的地方用同样的方法加载,为什么会报文件格式错误,另一个却能展示出来不报错
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-6-14 17:26:38
14#
前端小蚂蚁 发表于 2023-6-14 17:21
我的是在项目里使用,没有做成demo,  也跑不起来,需要安装各种依赖,这是个麻烦事

您好,那导入的Excel文件能否提供一下?
回复 使用道具 举报
前端小蚂蚁
注册会员   /  发表于:2023-6-14 17:21:01
13#
我的是在项目里使用,没有做成demo,  也跑不起来,需要安装各种依赖,这是个麻烦事
回复 使用道具 举报
前端小蚂蚁
注册会员   /  发表于:2023-6-14 17:06:03
11#
Joestar.Xu 发表于 2023-6-14 16:58
您好,麻烦您这边提供一下Demo,我们这边结合实际代码调查一下,目前不太好判断问题出在哪。

我这个是项目,我怎么给你呢,你也跑不起来,要安装各种环境,我怎么给你
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-6-14 16:58:10
10#
前端小蚂蚁 发表于 2023-6-14 16:52
// 这是项目中加载excel的代码块,在这个文件里引用file-saver,然后在这里使用吗?怎么用的
loadExcel =  ...

您好,麻烦您这边提供一下Demo,我们这边结合实际代码调查一下,目前不太好判断问题出在哪。
回复 使用道具 举报
前端小蚂蚁
注册会员   /  发表于:2023-6-14 16:52:58
9#
// 这是项目中加载excel的代码块,在这个文件里引用file-saver,然后在这里使用吗?怎么用的
loadExcel = () => {
    let excelFile = this.props.planExcel as Blob;  // 二进制流数据,excel数据
    console.log('=====',excelFile)
    let excelIo = new IO();
    excelIo.open(
      excelFile,
      (json: JSON) => {
        const spread = new GC.Spread.Sheets.Workbook(null);
        this.spread = spread
        // this.handleExternalReference(json)
        this.fillInitData(json)
        spread.fromJSON(adjustBigRangeInJSON(json))
        this.initSpread(spread)
      },
      (e) =>{
        message.error(e.errorMessage);  // 这里报文件格式错误
        this.loading.destroy();
      },
    );
  };
回复 使用道具 举报
前端小蚂蚁
注册会员   /  发表于:2023-6-14 16:28:03
8#
Joestar.Xu 发表于 2023-6-14 16:17
您好,是的,需要在项目中引用,没有引用的话那可能就是这个原因导致的,您这边引入后再看一下问题是否还 ...

我是用npm 安装到项目中,怎么和excel使用呢
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部