找回密码
 立即注册

QQ登录

只需一步,快速开始

kzk

金牌服务用户

16

主题

79

帖子

215

积分

金牌服务用户

积分
215

微信认证勋章

kzk
金牌服务用户   /  发表于:2019-11-19 11:16  /   查看:3397  /  回复:5
1金币
咱们这边控件导出的excel的下载的地址是这种类型blob:http://114.115.140.129:8080/ec855228-bf54-4e27-b517-fefe8c91a52e,这种下载地址类型在android的webview下载的时候不支持,android的webview浏览器只支持正常的http://114.115.140.129:8080/,这种类型,所以需要咱们具体转换一下下载地址,或者将excel转换成base64为等,看看怎么样解决。还有咱们说导出成json的话,离线填报也是支持的,有没有例子发我看看
image.png127314757.png
image.png747424316.png

最佳答案

查看完整内容

您好,导出Excel我的官网的例子是这么写的: 其中save方法是我们自带的方法,可以将表单转换成文件流(blob),saveAs方法是 FileSaver这个插件提供的,应该是WebView不支持该方法,您可以拿到blob这个文件流,自己用webview支持的方法来实现把文件流转换成Excel. 离线填报这块,主要是要使用fromJSON方法读入 模板文件,核心代码: 这块读入本地的json文件 传给fromJSON就可以在页面展示。 参考附件

5 个回复

倒序浏览
最佳答案
最佳答案
Fiooona
论坛元老   /  发表于:2019-11-19 11:16:01
来自 2#
您好,导出Excel我的官网的例子是这么写的:
  1. excelIo.save(json, function (blob) {
  2.                 saveAs(blob, fileName);
  3.             })
复制代码


其中save方法是我们自带的方法,可以将表单转换成文件流(blob),saveAs方法是 FileSaver这个插件提供的,应该是WebView不支持该方法,您可以拿到blob这个文件流,自己用webview支持的方法来实现把文件流转换成Excel.

离线填报这块,主要是要使用fromJSON方法读入 模板文件,核心代码:
  1. //读取文件
  2. reader.readAsText(files[0], "UTF-8");
  3. //读取成功触发onload事件
  4. reader.onload = function(evt){
  5.     var fileString = evt.target.result;
  6.     var jsonObj = JSON.parse(fileString);
  7.     if(jsonObj.MyData){
  8.         alert(jsonObj.MyData);
  9.     }
  10.     spread.fromJSON(jsonObj,{doNotRecalculateAfterLoad: true});
  11.     console.log(jsonObj);
  12.   
  13. };
复制代码


这块读入本地的json文件 传给fromJSON就可以在页面展示。
参考附件

13.0测试Demo - 副本.zip

2.34 MB, 下载次数: 94

组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
kzk
金牌服务用户   /  发表于:2019-11-19 14:17:42
3#
表单转换成文件流(blob)咋转换,写一下,
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2019-11-19 15:03:06
4#
本帖最后由 Fiooona 于 2019-11-19 15:06 编辑
  1. var json = spread.toJSON();
  2.             excelIo.save(json, function (blob) {
  3.                console.log(blob)
  4.             });
复制代码

控制台能打出这个 blob,你也可以导出 这个json
image.png421613768.png
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
kzk
金牌服务用户   /  发表于:2019-11-19 16:44:23
5#
手机端需要哪些js,请讲一下,然后,手机端js引入离线json文件,给写一个例子,我看下
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2019-11-19 17:10:56
6#
本帖最后由 Fiooona 于 2019-11-19 17:18 编辑

请查看附件
引入js 需要
< script src="gc.spread.sheets.all.xx.x.x.min.js" type="text/javascript">  < /script>以及css<  link rel="styleSheet" href="gc.spread.sheets.xx.x.x.css"  /   >如果表单中有图表还需增加:       <script src='.../spreadjs/plugins/gc.spread.sheets.chart.x.x.x.min.js' type='text/javascript'> < /script>
具体请参考学习指南:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/quickstart

13.0测试Demo - 副本.zip

63.21 KB, 下载次数: 58

组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部