找回密码
 立即注册

QQ登录

只需一步,快速开始

天下

注册会员

9

主题

57

帖子

126

积分

注册会员

积分
126
天下
注册会员   /  发表于:2022-10-20 09:49  /   查看:1850  /  回复:12
本帖最后由 天下 于 2022-10-20 11:31 编辑

开始页面是这样的: image.png156802062.png ,点击下载后,数据变了 image.png207709960.png 。怀疑是由于toJson()引起的,下载的代码逻辑是:
      let json = null
      json = this.spread.toJSON()
      const fileName = 'test.xlsx'
      const jsonStr = JSON.stringify(json)
      const excelIO = new Excel.IO()
      excelIO.save(jsonStr, function(blob) {
        downloadFileStram(blob, fileName)
      })

image.png797365417.png
image.png455058898.png
image.png536420897.png

显示不一致.zip

44.92 KB, 下载次数: 49

12 个回复

倒序浏览
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-10-20 14:04:26
沙发
问题收到,这边验证后给您回复。
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-10-20 14:17:07
板凳
您这边一开始通过spread.fromJSON(json)来进行了工作簿导入,此时如果下载为excel,可以直接使用导入的json文件进行下载,代码如下

  1. spread.fromJSON(json);
  2.                 var excelIo = new GC.Spread.Excel.IO();
  3.                 // let json = null
  4.                 // json = this.spread.toJSON()
  5.                 const fileName = 'test.xlsx'
  6.                 const jsonStr = JSON.stringify(json)
  7.                 excelIo.save(jsonStr, function(blob) {
  8.                     saveAs(blob, fileName);
  9.                 })
复制代码
image.png726668395.png
同时,您代码中的const excelIO = new Excel.IO() 这里可以用Spread的Excel包。请问这里是通过Vue框架来完成项目开发的话,如果使用npm下载包的话,可以引用

"@grapecity/spread-excelio": "对应版本"
回复 使用道具 举报
天下
注册会员   /  发表于:2022-10-20 14:56:43
地板
这个是从接口获取的数据,通过JSON.stringfy后得到的json

数据不一致源数据.zip

315.49 KB, 下载次数: 40

回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-10-20 16:04:50
5#
您好,这边使用15.1.0版本的SpreadJS fromJSON您这边刚刚给出的附件文件,报错,请问您这边是否是正确的json?
回复 使用道具 举报
天下
注册会员   /  发表于:2022-10-20 16:11:55
6#
这个可以吗

数据不一致源数据.zip

315.13 KB, 下载次数: 51

回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-10-20 18:16:02
7#
您好,这边在在线表格编辑器中可以正常导入ssjson,并且是有值的。然后导出Excel,也是有值的。测试版本是15.2.2
image.png199069213.png

这边同时测试了 Spread 15.1.0版本,如附件所示,fromJSON后正常有值,下载后也有值。
image.png530046081.png

所以暂未复现您这边的问题,您可以在附件中的demo中 修改代码,直至可以复现问题,在上传。



数据不一致源数据.json

13.42 MB, 下载次数: 46

数据显示不一致问题.html

2.84 KB, 下载次数: 45

回复 使用道具 举报
天下
注册会员   /  发表于:2022-10-20 18:27:42
8#
Ellia.Duan 发表于 2022-10-20 18:16
您好,这边在在线表格编辑器中可以正常导入ssjson,并且是有值的。然后导出Excel,也是有值的。测试版本是1 ...

这个数据拿到,显示出来,是否是在完成了spreadFromJSON和tojson之后呢。或者说你们后续是按什么逻辑处理的。
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-10-20 18:41:17
9#
您好,关于fromJSON与toJSON 用法,您这边可以参考下学习指南
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/workbook/json-serialization/purejs
这里解释了这两个api的使用场景。
其中fromJSON中有一个参数是避免加载后重新计算,这边是否设置了此值,导致没有重新计算公式,导致公式的值没有计算出来。
image.png916915893.png

回复 使用道具 举报
天下
注册会员   /  发表于:2022-10-21 15:47:53
10#
Ellia.Duan 发表于 2022-10-20 18:41
您好,关于fromJSON与toJSON 用法,您这边可以参考下学习指南
https://demo.grapecity.com.cn/spreadjs/Sp ...

这个值没有设置,因为已经渲染完成了,二次计算的作用是啥呢。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部