GCEXCEL 重新加载JSON与之前的JSON不一致
本帖最后由 Clark.Pan 于 2024-9-30 11:41 编辑产品:GcExcel
版本:V7.1.1
调研编号:DOCXLS-10357
LastReview:2024-09-30
当前进展:需样式模块重构来解决,是个长期的修复。
ssjson经过第一张图片的代码执行后数据不正确了 结果如第二张图
代码及ssjson已上传附件
您好,这里是将相同的style抽出来成为一个独立的style,然后让其他的单元格去引用这个独立的style,从而达到节省JSON体积的效果,对单元格值是不会有影响的。 你好在第一个sheet中的dataTable中的索引行为17及索引列为17的单元格中原始的是没有foreColor, 但是经过抽取成style之后 抽取的style名为"__b-16-20000000-0"中存在foreColor
从结果分析,可以看出这里生成时候会对将一些工作簿的默认样式也合并在namedstyle中,原因是Excel中默认样式就是以namedstyle去存储的。
您可以看到这个forecolor的结果不是一个颜色,是一个叫Text 1的字符串,这代表forecolor是一个主题颜色,主题颜色类似一个映射,实质内容会随着Excel不同的主题发生变化。
另外,要说明的一点就是,GcExcel与SpreadJS兼容是对内容一致性的兼容。而序列化过程中的中间产物并不一定是完全一样的。这也是我们不建议用户自己去解析序列化中间产物的原因之一。 我们的业务场景是通过GCEXCEL需要替换ssjson中的某些数据的值, 不通过序列话的方式有其他方式吗 导入之后通过GcExcel的API去替换(例如setValue),这个是推荐的方式。 Clark.Pan 发表于 2024-5-11 18:21
导入之后通过GcExcel的API去替换(例如setValue),这个是推荐的方式。
我们的需求是替换一些样式, 但是经过formJson->toJson之后 样式不正确了 那就是问题了,把不正确的json发给我们,我们当做问题去处理 错误json已上传在附件中, 原始json在第一次提问中有
您好,我这边将您提供的原始ssjson和经过代码导出的ssjson对比了一下,没有发现样式上的变化。
原始:
导出后:
我这边具体应该如何操作才能复现您的问题呢?
页:
[1]
2