找回密码
 立即注册

QQ登录

只需一步,快速开始

newAll

中级会员

74

主题

196

帖子

784

积分

中级会员

积分
784
newAll
中级会员   /  发表于:2023-2-15 16:38  /   查看:2430  /  回复:15
1金币
本帖最后由 Richard.Ma 于 2023-3-2 10:47 编辑

复现步骤
1.导入Excel(将压缩包内日语.xlsx导入)
2.导入后点击-----点我FROMJSON
3.点击后控制台报错undifient reading 0,

image.png888032836.png

Spread问题.zip

194.88 KB, 下载次数: 167

15 个回复

正序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-1 18:00:06
16#
因为有一些全局信息是存储在workbook上面的。如果只是sheet.toJSON。那么这些全局信息不会被序列化到结果中。然后经过反序列化的时候,由于反序列化那边的workbook上没有这些信息,所以就会丢失。
回复 使用道具 举报
newAll
中级会员   /  发表于:2023-3-1 17:28:33
15#
Clark.Pan 发表于 2023-3-1 15:48
首先,绝大部分情况下,单独设置样式都比表格序列化和反序列化的性能要高(因为不会重复加载其他无关的内容 ...

嗯,和先前给的回复一致,需要
var newSpread = new GC.Spread.Sheets.Workbook();
          newSpread.getActiveSheet().fromJSON(json);
          Sprad.fromJSON(newSpread.toJSON());这样操作一下
回复 使用道具 举报
newAll
中级会员   /  发表于:2023-3-1 17:14:00
14#
Clark.Pan 发表于 2023-3-1 15:48
首先,绝大部分情况下,单独设置样式都比表格序列化和反序列化的性能要高(因为不会重复加载其他无关的内容 ...

去年已经让你们工程师看过相关问题了,大数据量循环设置单元格tag信息,value信息等效率就是慢(现场给的回复是大数据量操作没办法)。我们试验fromjson自己处理数据效率比用你们api快很多。你说的暂停绘制等操作都试过。回到问题本身,用你们的工具tojson,然后只是改了data的数据为什么再fromjson会丢失信息不太明白这点。我应该如何解决我的问题呢?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-1 15:48:43
13#
首先,绝大部分情况下,单独设置样式都比表格序列化和反序列化的性能要高(因为不会重复加载其他无关的内容)。您这种情况,我猜测是不是类似这样大批量操作之前没有挂起绘制导致(suspendPaint)。
回复 使用道具 举报
newAll
中级会员   /  发表于:2023-3-1 13:33:48
12#
Clark.Pan 发表于 2023-3-1 10:59
问题出在这里

上图这样去拼接是肯定不行的,ssjson的schema有很多内容,只拼接这两项肯定有问题。这也就 ...

我们的需求就是需要有一个spread来进行展示一个表单,简称为A。然后另一个spread(简称为B)根据A表单内单元格的tag信息,做一些特殊样式处理(比如某些单元格锁定,某些单元格背景颜色变更)进行展示,填写完数据后,再将B的内容回显同步到A。为什么直接修改json,因为循环调用active.setstyle类似的api有性能问题,耗时时间比较长。直接修改json,就可以直接tojson,fromjson渲染页面。也比较快。如上一个需求,有好的办法吗
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-1 10:19:42
10#
好的,我们先试一下
回复 使用道具 举报
newAll
中级会员   /  发表于:2023-2-28 18:56:47
9#
Lynn.Dou 发表于 2023-2-28 17:51
这边测试,将您提供的excel文件分别导入至两个spread中,未复现您描述的问题。
您提供一个可复现此问题的d ...

image.png952113342.png
回复 使用道具 举报
newAll
中级会员   /  发表于:2023-2-28 18:39:15
8#
Lynn.Dou 发表于 2023-2-28 17:51
这边测试,将您提供的excel文件分别导入至两个spread中,未复现您描述的问题。
您提供一个可复现此问题的d ...

好的,导入之后,需要点一下那个 “点我FROMJSON” 的按钮,在另一个显示就不对了
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-2-28 17:51:15
7#
这边测试,将您提供的excel文件分别导入至两个spread中,未复现您描述的问题。
您提供一个可复现此问题的demo,这边实际验证看看,以便问题的进一步调研。
回复 使用道具 举报
newAll
中级会员   /  发表于:2023-2-28 16:49:18
6#
Lynn.Dou 发表于 2023-2-28 16:42
从截图来看,第二个spread应该是设置了allowCellOverflow为false ,即关闭了文本溢出功能,您检查下代码, ...

我知道你说的这个属性,并没有设置。用一层那个代码,导入上面的表单,就会不一致。因为我感觉这个都属于tojson和fromjson的问题,所以放一起了。解决完这个问题后,再有问题我会重新开贴。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部