找回密码
 立即注册

QQ登录

只需一步,快速开始

汇新泓博
初级会员   /  发表于:2022-8-16 11:57  /   查看:1602  /  回复:8
1金币
需要把表格保存到数据库,然后可以查看编辑。现在保存了spread.toJSON和sheet.toJSON。然后回填的时候样式没了。怎么处理

最佳答案

查看完整内容

结合您在另一个贴中的追问来看,您应该是将两个工作簿的sheet组合成了一个。 命名样式有作用在spread级别的,如果直接sheet JSON拼接,那么spread级别的命名样式就会丢失。 所以需要对这些命名样式复制到新的工作簿中,具体方案在下方链接以及另一个贴中技术顾问都有介绍,您结合demo实际测试下。https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=93624&fromuid=59119

8 个回复

倒序浏览
最佳答案
最佳答案
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-8-16 11:57:58
来自 8#
结合您在另一个贴中的追问来看,您应该是将两个工作簿的sheet组合成了一个。
命名样式有作用在spread级别的,如果直接sheet JSON拼接,那么spread级别的命名样式就会丢失。
所以需要对这些命名样式复制到新的工作簿中,具体方案在下方链接以及另一个贴中技术顾问都有介绍,您结合demo实际测试下。https://gcdn.grapecity.com.cn/fo ... 4&fromuid=59119
回复 使用道具 举报
沉沉悬赏达人认证
金牌服务用户   /  发表于:2022-8-16 12:31:16
2#
可以查看这篇学习指南:https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/workbook/json-serialization/purejs


在序列化与反序列时,可以设置参数ignoreStyle,
  1.     var serializationOption = {
  2.        ignoreStyle: false,
  3.     }
  4. var jsonString = JSON.stringify(spread1.toJSON(serializationOption));
  5.     var jsonOptions = {
  6.        ignoreStyle: false
  7.     }
  8.   spread2.fromJSON(JSON.parse(jsonStr), jsonOptions);
复制代码


回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-8-16 13:46:16
3#
您好,
spread.toJSON  和  sheet.toJSON  ,二者一个是spread级别的,一个是sheet级别的,
为什么要这样使用呢?
正常来说,如果使用 spread.toJSON 和 spread.fromJSON ,样式是不会丢失的,
您检查下是否在导入导出的时候设置了忽略样式 ignoreStyle。
回复 使用道具 举报
汇新泓博
初级会员   /  发表于:2022-8-16 14:22:15
4#
本帖最后由 汇新泓博 于 2022-8-16 14:53 编辑
Lynn.Dou 发表于 2022-8-16 13:46
您好,
spread.toJSON  和  sheet.toJSON  ,二者一个是spread级别的,一个是sheet级别的,
为什么要这样 ...

解决了,cell样式保存再赋值怎么操作for (let r = 0; r < headActualStyleList.length; r++) {

        for (let c = 0; c < headActualStyleList[0].length; c++) {
          activeSheetTemp.setStyle(r, c, headStyleList[r][c]);
        }

      }



这样会报错


回复 使用道具 举报
汇新泓博
初级会员   /  发表于:2022-8-16 14:35:37
5#
沉沉 发表于 2022-8-16 12:31
可以查看这篇学习指南:https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/workbook/json ...

设置了,没什么用,
回复 使用道具 举报
汇新泓博
初级会员   /  发表于:2022-8-16 14:37:16
6#
Lynn.Dou 发表于 2022-8-16 13:46
您好,
spread.toJSON  和  sheet.toJSON  ,二者一个是spread级别的,一个是sheet级别的,
为什么要这样 ...

只使用spread.fromJSON  导入的什么都没有,只能再进行sheet.fromJSON才有界面。
回复 使用道具 举报
沉沉悬赏达人认证
金牌服务用户   /  发表于:2022-8-16 16:27:12
7#
汇新泓博 发表于 2022-8-16 14:35
设置了,没什么用,

spreadJS 支持 JSON 格式的序列化与反序列化。正常来说,spread.toJSON与spread.formJSON配合一起使用,可以实现json导入导出。你提到了只使用spread.fromJSON  导入的什么都没有,是否可以提供下导出的json文件呢?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-9-3 00:12:27
9#
如果楼主的问题仍未解决,欢迎继续提供能复现问题的demo,这边根据demo来调研具体原因。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部