找回密码
 立即注册

QQ登录

只需一步,快速开始

中智达

注册会员

6

主题

18

帖子

48

积分

注册会员

积分
48
中智达
注册会员   /  发表于:2022-3-17 11:30  /   查看:1698  /  回复:7
本帖最后由 Lynn.Dou 于 2022-3-17 16:41 编辑

  • [size=0.8em]GC.Spread.Sheets.Worksheet的setValue方法设置值为‘50’‘50.125444’类似的字符串时会自动保留小数 导出后的表格又是正常的

7 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-3-17 11:48:43
沙发
您好,这边使用14.2.3测试,未复现您描述的问题: image.png279283141.png
请检查下单元格是否设置了类似保留小数的格式,
如果仍未解决,请在附件模板demo的基础上添加相关代码,使能复现此问题。
这边在代码基础上调研下原因。

demo-sjs模板.html

4.55 KB, 下载次数: 42

回复 使用道具 举报
中智达
注册会员   /  发表于:2022-3-17 12:25:09
板凳
Lynn.Dou 发表于 2022-3-17 11:48
您好,这边使用14.2.3测试,未复现您描述的问题:
请检查下单元格是否设置了类似保留小数的格式,
如果仍 ...

使用了你们官网demo 附件是我的文件 图片是效果  可以看到失去焦点和获取焦点显示不一样
微信图片_20220317122228.png158101195.png 微信图片_20220317122235.png882957153.png
微信图片_20220317122228.png893471069.png
微信图片_20220317122235.png164778136.png

研发测试-文本指标.xlsx

10.33 KB, 下载次数: 49

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-3-17 14:00:50
地板
将您上传的excel文件导入至在线表格编辑器中,单元格显示值/双击编辑值均是空白的。
该excel文件是否是您从SJS中导出的呢?
如果是,请直接导出ssjson文件,这边再实际测试下。

注:
如何提供ssjson文件:
1、使用spread.toJSON()导出json
2、新建txt文件,修改后缀为 .ssjson
3、将json粘贴,并将此文件上传。

回复 使用道具 举报
中智达
注册会员   /  发表于:2022-3-17 14:15:07
5#
Lynn.Dou 发表于 2022-3-17 14:00
将您上传的excel文件导入至在线表格编辑器中,单元格显示值/双击编辑值均是空白的。
该excel文件是否是您 ...

获取焦点和失去焦点不一致是因为我们设置了保留小数属性,其实我们遇到的问题是比如保留了两位小数网页显示的时候确实是两位小数了  然后new IO().save去报存时 用工具打开保存下来的文件 显示的其实是原始值(未保留两位小数)这就造成了网页显示和导出结果不一致的情况。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-3-17 14:31:39
6#
需求已理解,这边本地测试如下:
在SJS设置保留两位小数(单元格格式 0.00),单元格显示为两位小数.
此时导出为excel文件,Excel中打开也是显示为两位小数。 image.png738300170.png
从测试结果来看,未能复现您的问题。

综上,需要您提供可复现的文件(即ssjson文件),这边再实际测试进一步调研下原因。

回复 使用道具 举报
中智达
注册会员   /  发表于:2022-3-17 15:04:23
7#
Lynn.Dou 发表于 2022-3-17 14:31
需求已理解,这边本地测试如下:
在SJS设置保留两位小数(单元格格式 0.00),单元格显示为两位小数.
此 ...

json文件放附件了 你导入网页端可以看到保留了两位或者三位小数  然后导出为xlsx表格  应该是没有保留小数的状态

test.ssjson

21.25 KB, 下载次数: 38

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-3-17 16:39:17
8#
本帖最后由 Lynn.Dou 于 2022-3-17 16:40 编辑

在此文件中,单元格的值为string类型,SJS允许string类型设置数字格式,所以可以保留小数。
而Excel 对于单元格格式有着明确的数据要求,
如果单元格格式是日期或者数字,那么单元格的值必须是日期或数字,才能被格式化。
所以数字格式未生效。 image.png212181395.png

解决方案就是将单元格的值由string类型修改为number类型,然后正常设置数字格式(保留小数),
此时导出文件在Excel中就可以正常显示小数了。
image.png731260680.png

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部