找回密码
 立即注册

QQ登录

只需一步,快速开始

rex_chujie
金牌服务用户   /  发表于:2023-1-3 17:49  /   查看:1637  /  回复:13
image.png835553893.png image.png295356139.png 上传后转化的数据中,该单元格变成浮点数,计算不精确,请问此问题如何解决

13 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-1-3 18:08:17
沙发
您好,
您提供下上传的文件,并详细描述下复现步骤,这边验证看下。
回复 使用道具 举报
rex_chujie
金牌服务用户   /  发表于:2023-1-4 18:56:08
板凳
本帖最后由 rex_chujie 于 2023-1-4 18:57 编辑

sheet页“机型工具工装物料录入”中第134行G列单元格,通过导入上传文件,转化的json文件中,该单元格变为浮点数,上传文件附压缩包里
企业微信截图_16728289401233.png807426147.png
企业微信截图_16728290182860.png914226989.png

spreadjs.zip

557 KB, 下载次数: 54

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-1-5 16:18:52
地板
demo收到,这边先验证下, 有结果贴中更新。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-1-6 18:09:31
5#
请问您图上所示的浮点数是怎么获取到的呢?
image.png71512450.png


这边运行demo,在控制台拿到spread后,执行spread.toJSON打印如下,可以看到单元格value未出现浮点数。
image.png113084715.png
如何复现您的问题呢?请详细描述下复现步骤。

回复 使用道具 举报
rex_chujie
金牌服务用户   /  发表于:2023-1-9 09:47:09
6#
请问你是全量上传的吗,我这边全量上传之后toJSON就会得到那个浮点数,如果删除任何一个sheet页,上传好像就没问题
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-1-9 14:10:54
7#
测试步骤如下:
1、直接运行您提供的demo(代码未作任何修改)
2、F12打开控制台,输入spread.toJSON()
3、观察输出结果,如下图,即上个回答中所述的结果
image.png40121764.png

综上,未复现您描述的问题,所以请详细描述下您的复现步骤,这边好继续调研。
回复 使用道具 举报
rex_chujie
金牌服务用户   /  发表于:2023-1-9 19:26:55
8#
步骤就是点击demo里面的上传,上传demo里面的文件,然后在控制台中可以看到toJSON的数据,“机型工具工装物料录入”sheet页,我这是必现的 image.png277349547.png image.png802713012.png
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-1-10 13:34:35
9#
问题已复现,已将此问题记录下来进一步调研原因,待有结果贴中回复您。
本贴先做保留处理。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-1-13 10:30:53
10#
更新进展:
用xml工具解析了原始excel文件,如下图可以看到原始excel文件的value值就是217.49999999999997,所以SpreadJS在open excel文件解析数据时也显示为小数点形式。
image.png784343871.png
不过这里有些疑问,SpreadJS在加载原始excel文件后,会对数据进行解析处理,所以如果通过getValue或者toJSON 获取单元格值后,你会看到均为 217.5。
image.png394694518.png
image.png234689635.png
为什么要在open里面拦截json去拿值呢,是getValue方式不符合您的业务逻辑呢?请结合实际业务需求详细描述下。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部