找回密码
 立即注册

QQ登录

只需一步,快速开始

张少聪

金牌服务用户

3

主题

17

帖子

79

积分

金牌服务用户

积分
79
最新发帖
张少聪
金牌服务用户   /  发表于:2021-1-13 14:27  /   查看:2732  /  回复:9
1金币
示例代码如下:
const url = 'http://127.0.0.1:9000/test/1.xlsx'
axios.get(url, { responseType: 'arraybuffer', headers: {
  'Content-Type': 'application/json;charset=UTF-8;'
}}).then((response) => {
  var blob = new Blob([response.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8;' })
  const excelIo = new Excel.IO()
  console.log(blob)
  excelIo.open(blob, function(json) {
    ...
  }, function(e) {
    console.log(e)
  })
})
控制台打印
image.png515030517.png

image.png236683654.png

最佳答案

查看完整内容

您好,建议您参考这篇教程尝试一下 https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=37389&extra=page%3D1&page=1

9 个回复

倒序浏览
最佳答案
最佳答案
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-1-13 14:27:45
来自 2#
您好,建议您参考这篇教程尝试一下
https://gcdn.grapecity.com.cn/fo ... page%3D1&page=1
回复 使用道具 举报
张少聪
金牌服务用户   /  发表于:2021-1-13 14:57:13
3#
DerrickJiao 发表于 2021-1-13 14:34
您好,建议您参考这篇教程尝试一下
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=37389&e ...

照这个教程也是提示Incorrect file format. 原理都是一样的啊,只不过教程里用的是XMLHttpRequest,我用的是axios
回复 使用道具 举报
张少聪
金牌服务用户   /  发表于:2021-1-13 15:00:53
4#
用如下代码下载文件,是能下载的,说明blob没有问题的,不知道为什么excel.IO会报错Incorrect file format.
axios.get(url, { responseType: 'arraybuffer', headers: {
        'Content-Type': 'application/json;charset=UTF-8;'
      }}).then((response) => {
        var blob = new Blob([response.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8;' })
      
        var downloadElement = document.createElement('a')
        var href = window.URL.createObjectURL(blob) // 创建下载的链接
        downloadElement.href = href
        downloadElement.download = '测试文件.xlsx' // 下载后文件名
        document.body.appendChild(downloadElement)
        downloadElement.click() // 点击下载
        document.body.removeChild(downloadElement) // 下载完成移除元素
        window.URL.revokeObjectURL(href) // 释放掉blob对象
      })
    },
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-1-13 15:04:40
5#
张少聪 发表于 2021-1-13 15:00
用如下代码下载文件,是能下载的,说明blob没有问题的,不知道为什么excel.IO会报错Incorrect file format. ...

出现文件格式错误可能的原因是您请求的文件不是一个xlsx格式的文件,麻烦您检查一下。
回复 使用道具 举报
张少聪
金牌服务用户   /  发表于:2021-1-13 15:07:59
6#
DerrickJiao 发表于 2021-1-13 15:04
出现文件格式错误可能的原因是您请求的文件不是一个xlsx格式的文件,麻烦您检查一下。

是xlsx的
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-1-13 15:25:38
7#

麻烦您提供一个完整的demo以及表格这边测试一下。
回复 使用道具 举报
张少聪
金牌服务用户   /  发表于:2021-1-13 16:22:45
8#
找到原因了,是文件被加密的问题
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-1-13 16:25:42
9#
张少聪 发表于 2021-1-13 16:22
找到原因了,是文件被加密的问题

解决了就好,没问题的话这边就给您结帖了,有新问题欢迎开新帖交流~
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-5 14:49:25
10#
恭喜楼主已解决该问题,感谢您的支持! 由于您自己的帖子无法设置最佳答案,我们会把你的解决方法复制一份,设为最佳答案。
问题原因:文件被加密
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部