找回密码
 立即注册

QQ登录

只需一步,快速开始

樊小二丶

注册会员

15

主题

73

帖子

192

积分

注册会员

积分
192
樊小二丶
注册会员   /  发表于:2023-3-24 09:50  /   查看:2184  /  回复:11
5金币
本帖最后由 樊小二丶 于 2023-3-27 10:06 编辑

spreadjs 如何将当前得所有sheet 模板提取出来 json 保存在数据库中  使用哪个方法  tojson fromjson ?  还是什么办法实现

最佳答案

查看完整内容

首先,sheet本身就提供了toJSON/fromJSON方法,你可以循环sheet逐个执行toJSON方法即可得到序列化后的json对象,或者fromJSON来加载 但是一般来说还是建议整个workbook进行toJSON/fromJSON来保存和加载,因为很多的很多属性是保存在workbook层面的。单独存储sheet,会造成很多的问题。 除非是场景比较特殊,你也可以描述一下你那边具体的应用场景,我帮你看看有什么合理的方案

11 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-24 09:50:35
来自 2#
首先,sheet本身就提供了toJSON/fromJSON方法,你可以循环sheet逐个执行toJSON方法即可得到序列化后的json对象,或者fromJSON来加载

但是一般来说还是建议整个workbook进行toJSON/fromJSON来保存和加载,因为很多的很多属性是保存在workbook层面的。单独存储sheet,会造成很多的问题。

除非是场景比较特殊,你也可以描述一下你那边具体的应用场景,我帮你看看有什么合理的方案
回复 使用道具 举报
樊小二丶
注册会员   /  发表于:2023-3-24 11:12:09
3#
Richard.Ma 发表于 2023-3-24 11:00
首先,sheet本身就提供了toJSON/fromJSON方法,你可以循环sheet逐个执行toJSON方法即可得到序列化后的json ...

我就是 想做一个 demo 就是 上传本地excel 文件(多个sheet得) ,  前端生成json 格式保存到后端 , 而获取 后端 保存的json  传递到 前端在表格中展现  相当于 当前得是模板 保存 将json 直接到数据库中  
回复 使用道具 举报
樊小二丶
注册会员   /  发表于:2023-3-24 11:13:43
4#
附图。。。。。。。。。。。。。。。。。。。。。。。。。。。
image.png746638793.png
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-24 12:01:15
5#

建议使用我们的在线示例学习一下导入导出json和导入excel的代码
https://demo.grapecity.com.cn/sp ... erialization/purejs
https://demo.grapecity.com.cn/sp ... excel-import-export

简单的代码如下
导入excel
  1. excelIo.open(excelFile, function (json) {
  2.         var workbookObj = json;
  3.         workbook.fromJSON(workbookObj);
  4.     }, function (e) {
  5.         // process error
  6.         console.log(e);
  7.     });
复制代码


导出和加载json
workbook.toJSON()  //可选添加参数,详见上述学习指南链接
workbook.fromJSON() //可选添加参数,详见上述学习指南链接
回复 使用道具 举报
樊小二丶
注册会员   /  发表于:2023-3-24 16:17:00
6#
无法理解未定义得 tojson? 咋回事呢  我的excel是导入得 想获取倒成json得json串   image.png368319091.png    image.png140336302.png
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-24 16:22:02
7#
你这个 image.png331852721.png 最初定义的是一个workbook对象吗?
看起来更像是定义了一个designer对象。那么你第一句获取到的spread应该就有问题

如果确如上面我说的是定义了一个Desinger,那么你应该通过下面的代码获取spread workbook

  1. var spread=GC.Spread.Sheets.Designer.findControl(document.getElementById("gc-designer-container")).getWorkbook();
复制代码



回复 使用道具 举报
樊小二丶
注册会员   /  发表于:2023-3-24 16:28:51
8#
Richard.Ma 发表于 2023-3-24 16:22
你这个最初定义的是一个workbook对象吗?
看起来更像是定义了一个designer对象。那么你第一句获取到的spre ...

对  我是做一个 demo得 问一下 有什么区别呢 ?  定义了 designer 对象得 未使用 如果直接加载 不定义 designer 对象的话 就使用原本得 就ok 嘛
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-24 17:51:32
9#
workbook工作簿是spreadjs的核心组件。只包括一个单纯的表格界面
https://demo.grapecity.com.cn/sp ... itialization/purejs

而desinger是在此基础上封装的一个包含了包括功能区、公式栏、状态栏、侧面板和上下文菜单等功能的完整界面
https://demo.grapecity.com.cn/sp ... _designer_component
回复 使用道具 举报
樊小二丶
注册会员   /  发表于:2023-3-27 09:19:07
10#
本帖最后由 樊小二丶 于 2023-3-27 10:04 编辑

这是导入时候 报错 这是什么原因啊 image.png21239012.png
image.png369406737.png
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部