余晖落尽暮晚霞,黄昏迟暮远山寻
本站
当前位置:网站首页 > 编程知识 > 正文

SpreadJS中导入导出(Import&Export)使用规范常见错误解决办法

xiyangw 2022-11-26 15:57 33 浏览 2 评论

前言 | 问题背景

SpreadJS中导入导出(Import&Export)使用规范常见错误解决办法

SpreadJS表格控件有着很强大的纯前端的导入导出功能,可以直接在纯前端导入导出Excel,通过扩展还可以实现服务器端导入导出。是用户最常使用的功能之一。

使用规范

JS文件的引入

导入导出功能需要在引入SpreadJS基本JS文件的基础上额外引入两个文件:

  • gc.spread.excelio.xx.x.x.min.js(必选)

  • FileSaver.js(可选)

1、 gc.spread.excelio.xx.x.x.min.js是导入导出的核心文件,里面包含了导出导出的逻辑,将用户提供的表格序列化ssjson文件转换成Excel类型(前端对应为application/zip)的一个blob二进制对象。这里注意因为Excel本身是一个压缩格式,所以转换的对象类型对应为application/zip,如果需要转换为其他形式,请自行处理,例如将该对象base64编码后转换为字符串或者流等。

2、 FileSaver.js是第三方开源的一个js组件,用户做前端文件下载保存的功能。故而不是必须的,也可以自己处理相关操作或者用其他的类型功能组件进行替换。这里注意的是如果需要导出至服务器端,那么不需要引入此js文件。可以直接将blob对象通过请求发至服务器端并在服务器端保存成Excel格式的文件即可。

浏览器支持

SpreadJS本身使用了html5的canvas技术,所以浏览器支持必须是支持html5的浏览器,例如:chrome,firefox,IE9以上等。

而导入导出功能按照上面所说如果要使用filesaver来做前端下载,那么IE浏览器需要10以上的版本才能支持FileSaver.js,这里跟SpreadJS本身的浏览器支持有些出入。

授权方式

如果是一般的html+js+css这样的web应用开发,导入导出组件不需要授权。只需要对SpreadJS进行授权即可。

如果是typescript开发常见于:angular,react,vue等框架使用,需要对导入导出组件(ExcelIO)进行单独授权,像这样:

GC.Spread.Sheets.LicenseKey = Excel.LicenseKey = "yourkey";

常见问题解决办法

由于我们示例代码中导入导出部分加入了try catch的异常捕获,这样会导致异常很难定位,这里列出常见可能会出问题的情况:

  1. 导入时Excel文件是否为xlsx格式,SpreadJS支持的导入格式必须为xlsx格式

  2. FileSaver.js文件是否引用(这里有个前提,需要做纯前端导出,并且使用的是我们官网例子中的方式)

  3. 如果使用了FileSaver请注意浏览器的支持范围(参考上面第二点浏览器支持)

  4. 如果是框架开发,是否对ExcelIO组件进行授权(参考上面第三点授权方式中的描述)

如果上述仍然没有排查出问题,可以将try catch的异常捕获去掉来定位原因。

点击“了解更多”下载产品最新试用版

↓↓↓

相关推荐

JavaScript快速入门02-数据类型(javascript从入门到精通)

JavaScript基础语法02数据类型在js中的变量可以保存多种数据类型:数值、字符串值、布尔值、空值、未定义、数组、对象等。varlength=7;...

Javascript入门基础 002(cad入门基础知识)

在javascript中数据类型Numbe:可以在变量中存储数字,是int整数类型,或者浮点(3.1645965)varx1=10;varx2=3.14155654String:存储字符...

初学者学习JavaScript不得不掌握的小窍门(学习英语的小窍门)
初学者学习JavaScript不得不掌握的小窍门(学习英语的小窍门)

Javascript是一种高级编程语言,通过解释执行。它是一门动态类型,面向对象(基于原型)的直译语言。它已经由欧洲电脑制造商协会通过ECMAScript实现语...

2023-03-21 18:38 xiyangw

学Javascript要看什么书?从入门到进阶书籍推荐
学Javascript要看什么书?从入门到进阶书籍推荐

程序员想要完成一些简单的WEB前端需求,就必须掌握基础的JavaScript编程能力。因此为了方便大家学Javascript,小编整理了Javascript从入...

2023-03-21 18:38 xiyangw

零基础自学编程,为什么建议JavaScript作为自学编程的首选语言

我是一枚女码农,在开发行业工作了十余年,能熟练使用市面上主流的多种开发语言。个人觉得自学编程入门语言的话我建议还是JavaScript为什么这么说呢?我阐述下我的几个观点1、JavaScript是一门...

为初学者学习JavaScript的重要提示(为初学者学习JavaScript的重要提示)
为初学者学习JavaScript的重要提示(为初学者学习JavaScript的重要提示)

所以,如果你已经阅读了这篇文章来到这里,你可能已经非常了解从初学者的JavaScript开始。然而,从编写新手到编码器的过程是漫长,艰难和艰苦的-相信我!幸...

2023-03-21 18:37 xiyangw

《JavaScript基础教程(第8版)》电子书,建议保存下来
《JavaScript基础教程(第8版)》电子书,建议保存下来

书籍简介JavaScript基础教程(第8版)作者:[美]TomNegrino/[美]DoriSmith出版社:人民邮电出版社副标题:第8版原...

2023-03-21 18:37 xiyangw

初学者如何学习编写网页和JavaScript语言(做网页的编程语言)
初学者如何学习编写网页和JavaScript语言(做网页的编程语言)

菜农认为如果你有学过C语言,那么JS根本不是事情。JS是嵌入到网页里不能单独运行的,故还要学习一些html语言,即网页的“界面”,这样在任意浏览器上你编写的ht...

2023-03-21 18:37 xiyangw

js入门记录(js入门书)

jsBrendan(布兰登)Eich轻量级的编程语言(ECMAscript5或6),是一种解释性脚本语言(代码不进行预编译),主要用来向HTML页面添加交互行为,目前是互联网上最流行的脚本语言,支持...

JS入门(JS入门安卓)

********JavaScript概述************ECMAScript和JavaScript的关系****1996年11月,JavaScript的创造者--Netscape公司,决定将J...

web前端开发中必会JavaScript属性和常用方法
web前端开发中必会JavaScript属性和常用方法

Web前端入门到精通必会JS的属性和常用方法,应同学留言要求,今天抽时间整理总结了Web前端实际开发中必会的变量、基本数据类型、表达式与操作符、流程控制语句、数...

2023-03-21 18:36 xiyangw

D3.js入门教程(d3.js书籍)
D3.js入门教程(d3.js书籍)

作者:karen转发链接:https://mp.weixin.qq.com/s/TFpywiD6PY7HMlKIpQwDFQWHATD3.js是一个JavaSc...

2023-03-21 18:36 xiyangw

JavaScript—Promise 入门(:javascript)
JavaScript—Promise 入门(:javascript)

Promise在中文中被表示成“期约”,下文均用原词Promise很多时候请求在程序中或网页上进行操作,但请求的结果不能立即用于进一步处理。在这种情况下,操作...

2023-03-21 18:35 xiyangw

Javascript入门 001(javascript 菜鸟教程)
Javascript入门 001(javascript 菜鸟教程)

javascript是一种基于对象和事件驱动的,并具有安全性能的,是一种轻量级的脚步语言,能减轻服务器压力和实现页面动态效果javascript有ECMASC...

2023-03-21 18:35 xiyangw

初学JavaScript之简介(javascript如何学)

JavaScript是开发WEB而闻名的脚本语言。JavaScript可以直接插入HTML代码中,由浏览器来执行。Javascript可以在网页上实现复杂的功能,例如实时的内容更新,交互式的地图,2D...

已有2位网友发表了看法:

  • xiyangw

    xiyangw  评论于 [2022-12-28 18:55:51]  回复

    spreadjs 导入验证

  • xiyangw

    xiyangw  评论于 [2022-12-28 18:56:25]  回复

    spreadjs 使用 typescript

取消回复欢迎 发表评论: