找回密码
 立即注册

QQ登录

只需一步,快速开始

大白菜

中级会员

77

主题

257

帖子

882

积分

中级会员

积分
882

圣诞拼拼乐微信认证勋章

大白菜
中级会员   /  发表于:2023-8-14 19:16  /   查看:1576  /  回复:15
1金币
本帖最后由 大白菜 于 2023-8-14 19:18 编辑

我前端spreadjs 的模板单元格格式是文本,比如输入289,到了后端GcExcel 去获取value 则获取到位289.0   ,多个.0 ,你说我设置了数值格式能理解,后端text和value又没法很好的去切换用,这种情况怎么处理。

最佳答案

查看完整内容

您说的WPS在修改format后也会修改掉Value这个问题,我新建了一个表格,用WPS打开后在A1单元格输入了123,再将其单元格格式改为文本后,导入到GCExcel中的结果与Excel和SpreadJS一致,因此无论是Excel、WPS还是SpreadJS,在修改单元格格式后,都不会对Value进行修改,仅会改变其Text。 这应该是所有表格产品的设计。

15 个回复

倒序浏览
最佳答案
最佳答案
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-8-14 19:16:17
来自 14#
您说的WPS在修改format后也会修改掉Value这个问题,我新建了一个表格,用WPS打开后在A1单元格输入了123,再将其单元格格式改为文本后,导入到GCExcel中的结果与Excel和SpreadJS一致,因此无论是Excel、WPS还是SpreadJS,在修改单元格格式后,都不会对Value进行修改,仅会改变其Text。

这应该是所有表格产品的设计。

image.png434061278.png

image.png562796325.png
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-8-15 10:09:35
2#
没太理解您的意思,我这边设置了289文本在A1单元格,出来的结果无论是VALUE还是TEXT都是289

image.png35076292.png
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
大白菜
中级会员   /  发表于:2023-8-15 13:32:00
3#
Joestar.Xu 发表于 2023-8-15 10:09
没太理解您的意思,我这边设置了289文本在A1单元格,出来的结果无论是VALUE还是TEXT都是289

我们这个json  转成workbook后, getvalue 是多个.0;

A2的单元格的值。

json.zip

4.04 KB, 下载次数: 52

回复 使用道具 举报
澍澍
注册会员   /  发表于:2023-8-15 15:22:35
4#
image.png646605529.png
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-8-15 18:07:08
5#
您好,这是因为这个单元格是中的值是数字类型,在GCExcel中取到Value的值对于数字来说都是Double类型,所以输出的时候带有一个.0

image.png861415710.png
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
大白菜
中级会员   /  发表于:2023-8-15 18:54:55
6#
Joestar.Xu 发表于 2023-8-15 18:07
您好,这是因为这个单元格是中的值是数字类型,在GCExcel中取到Value的值对于数字来说都是Double类型,所以 ...

但是你把json用spreadjs转成excel,我设置的单元格格式是文本类型,不是数值
回复 使用道具 举报
澍澍
注册会员   /  发表于:2023-8-15 19:12:52
7#
本帖最后由 澍澍 于 2023-8-15 19:13 编辑
Joestar.Xu 发表于 2023-8-15 18:07
您好,这是因为这个单元格是中的值是数字类型,在GCExcel中取到Value的值对于数字来说都是Double类型,所以 ...
image.png415933837.png
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-8-16 10:29:46
8#
这是因为您设置了单元格格式为文本,所以输出的text为3701

但是它本质上存储的还是数值,所以输出的还是3701.0

Value并不会随着你设置的Format而改变,就好比我设置了一个单元格的值为1,增加了两位小数,显示为了1.00,那么它的Value仍将是1,Text为1.00,而不会将Value变成1.00
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
澍澍
注册会员   /  发表于:2023-8-16 11:17:24
9#
Joestar.Xu 发表于 2023-8-16 10:29
这是因为您设置了单元格格式为文本,所以输出的text为3701

但是它本质上存储的还是数值,所以输出的还是 ...

你好,第一个sheet页的3701 是通过excel公式等于第二个sheet页的A1单元格,然后第一个sheet页的A1中的value就是数字,不是文本,不是我们代码上将他的本质存储改成数值的
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部