找回密码
 立即注册

QQ登录

只需一步,快速开始

badwoman

注册会员

4

主题

10

帖子

32

积分

注册会员

积分
32
最新发帖
badwoman
注册会员   /  发表于:2020-11-12 19:18  /   查看:2694  /  回复:6
本帖最后由 badwoman 于 2020-11-13 15:10 编辑

image.png389920958.png
发请求 后台返回前台字节流 生成blod 对象 创建file 对象 放在excelIo里解析数据 解析那部一直报错


原来需求是前台点击按钮弹出文件框 选择文件 可以实现功能 如下图     但是切换上图版本无法解析
image.png46828917.png


6 个回复

倒序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-11-13 09:42:53
沙发
您好,您可以参考这篇文章
https://gcdn.grapecity.com.cn/fo ... &extra=page%3D1

如果仍未解决您的问题建议您上传能复现问题的demo
回复 使用道具 举报
badwoman
注册会员   /  发表于:2020-11-13 14:53:25
板凳
DerrickJiao 发表于 2020-11-13 09:42
您好,您可以参考这篇文章
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=37389&extra=pag ...

这个我试过没有作用  请问excelio.open 这个方法第一个参数 需要的是什么呢
回复 使用道具 举报
badwoman
注册会员   /  发表于:2020-11-13 15:12:21
地板
DerrickJiao 发表于 2020-11-13 09:42
您好,您可以参考这篇文章
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=37389&extra=pag ...

我在接手离职同事的代码, 前台他是如图二实现,现在要把文件放在服务端 不让客户端上传 ,实在没整明白
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-11-13 15:52:26
5#
本帖最后由 DerrickJiao 于 2020-11-13 15:53 编辑
badwoman 发表于 2020-11-13 14:53
这个我试过没有作用  请问excelio.open 这个方法第一个参数 需要的是什么呢

第一个参数是blob类型的Excel文件,这是API您可以参考一下
https://demo.grapecity.com.cn/sp ... .Excel.IO.html#open
另外您也可以参考学习之指南的例子
https://demo.grapecity.com.cn/sp ... mport-export/purejs
回复 使用道具 举报
badwoman
注册会员   /  发表于:2020-11-13 16:41:31
6#
DerrickJiao 发表于 2020-11-13 15:52
第一个参数是blob类型的Excel文件,这是API您可以参考一下
https://demo.grapecity.com.cn/sp ... .Exce ...

您发的这几个api 都是直接获取本地上传的 file 对象 用来解析   ,我是后台传过来的bolb  解析就会报文件格式类型不对
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-11-13 17:56:34
7#
badwoman 发表于 2020-11-13 16:41
您发的这几个api 都是直接获取本地上传的 file 对象 用来解析   ,我是后台传过来的bolb  解析就会报文件 ...

建议您参考这段代码open应该传的是一个blob,另外文件传输需要filesaver.js
  1. var excelIo = new GC.Spread.Excel.IO();
  2.     var excelFilePath = 'resources/Excel/importExcel.xlsx';
  3.     var xhr = new XMLHttpRequest();
  4.     xhr.open('GET', excelFilePath, true);
  5.     xhr.responseType = 'blob';   
  6.     xhr.onload = function(e) {
  7.       if (this.status == 200) {
  8.         // get binary data as a response
  9.         var blob = this.response;
  10.         // convert Excel to JSON
  11.         excelIo.open(blob, function (json) {
  12.             var workbookObj = json;
  13.             spread.fromJSON(workbookObj);
  14.         }, function (e) {
  15.             // process error
  16.             alert(e.errorMessage);
  17.         }, {});
  18.       }
  19.     };
  20.      
  21.     xhr.send();
复制代码


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部