找回密码
 立即注册

QQ登录

只需一步,快速开始

JRZ

注册会员

3

主题

13

帖子

34

积分

注册会员

积分
34
最新发帖
JRZ
注册会员   /  发表于:2024-8-13 15:06  /   查看:1468  /  回复:12
1金币
本帖最后由 Joestar.Xu 于 2024-8-13 16:14 编辑

spread.[color=var(--link-color)]import()  导入csv文件时候 ,报错,文件格式错误
image.png682346801.png

最佳答案

查看完整内容

CSV不支持懒加载和增量加载,也就是openMode的设置导出CSV不生效。

12 个回复

倒序浏览
最佳答案
最佳答案
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-8-13 15:06:45
来自 13#
CSV不支持懒加载和增量加载,也就是openMode的设置导出CSV不生效。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-13 17:07:09
2#
您好!发生文件格式错误的原因并不固定,请您提供一个能够复现该问题的demo。
回复 使用道具 举报
JRZ
注册会员   /  发表于:2024-8-13 17:41:43
3#
本帖最后由 JRZ 于 2024-8-13 17:49 编辑

Wilson.Zhang 发表于 2024-8-13 17:07
您好!发生文件格式错误的原因并不固定,请您提供一个能够复现该问题的demo。


主要代码就这些,你先看看,文件我问问能不能发出来


    getFileType(file) {
      if (!file) {
        return 'nofile'
      }

      let fileName = file.name
      let extensionName = fileName.substring(fileName.lastIndexOf('.') + 1)

      if (extensionName === 'sjs') {
        return 'sjs'
      } else if (extensionName === 'xlsx' || extensionName === 'xlsm') {
        return 'xlsx'
      } else if (extensionName === 'ssjson' || extensionName === 'json') {
        return 'ssjson'
      } else if (extensionName === 'csv') {
        return 'csv'
      } else {
        return 'nofile'
      }
    },

    let file = e.target.files[0];
    let fileType = this.getFileType(file)

    if (fileType == 'sjs') {
        this.designer.Spread.open(
        file,
        successFun,
        errorFun,
        {
            openMode: GC.Spread.Sheets.OpenMode.lazy,
        },
        )
    } else {
        this.designer.Spread.import(
        file,
        successFun,
        errorFun,
        {
            openMode: GC.Spread.Sheets.OpenMode.lazy,
            // fileType: GC.Spread.Sheets.FileType.excel,
            // encoding: 'UTF-8',
            // rowDelimiter: '\r\n',
            // columnDelimiter: ','
        },
        )
    }


回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-8-13 18:02:22
4#
是不是因为这句代码被注释的缘故?
image.png658569640.png
注释了相当于默认类型,默认类型是excel。那么如果真实文件是CSV肯定就报错了
image.png217831114.png
回复 使用道具 举报
JRZ
注册会员   /  发表于:2024-8-13 18:09:44
5#
Clark.Pan 发表于 2024-8-13 18:02
是不是因为这句代码被注释的缘故?

注释了相当于默认类型,默认类型是excel。那么如果真实文件是CSV肯定 ...

指定fileType: GC.Spread.Sheets.FileType.csv, 导入也是文件类型错误,这个试过了
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-8-14 09:17:00
6#
那需要您提供一下对应导入的csv文件了,我们需要具体验证一下
回复 使用道具 举报
JRZ
注册会员   /  发表于:2024-8-14 17:26:27
7#
Clark.Pan 发表于 2024-8-14 09:17
那需要您提供一下对应导入的csv文件了,我们需要具体验证一下

文件见附件

模拟数据.zip

223.98 KB, 下载次数: 141

回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-8-14 18:16:22
8#
用demo试了一下,感觉没什么问题
image.png171334227.png
demo见附件

features_spreadjs-file-format_overview_JavaScript (2).zip

18.68 KB, 下载次数: 128

回复 使用道具 举报
JRZ
注册会员   /  发表于:2024-8-15 10:20:36
9#
Clark.Pan 发表于 2024-8-14 18:16
用demo试了一下,感觉没什么问题

demo见附件

可能是浏览器版本问题,csv文件无法导入应该是浏览器版本问题,低版本的火狐和谷歌会将csv文件的content-type设置为application/vnd.ms-excel,高版本的才会是text/csv
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部