找回密码
 立即注册

QQ登录

只需一步,快速开始

年年不吃鱼

初级会员

47

主题

129

帖子

424

积分

初级会员

积分
424

[已处理] 14.0.7 formatter

年年不吃鱼
初级会员   /  发表于:2022-8-17 16:09  /   查看:1079  /  回复:8
excel中的formatter跟spreadjs中的格式不太一样,, image.png637753295.png excel中设置两位小数导入后获取到的格式是这样的,但是spreadjs中设置的是0.00,如果判断当前单元格是属于数值格式的

8 个回复

倒序浏览
沉沉悬赏达人认证
金牌服务用户   /  发表于:2022-8-17 16:34:39
沙发
您的问题是想问,如何判断当前单元格是不是属于数值格式吗?
js结合正则表达式可以判断当前单元格的格式。
并且在excel中设置单元格类型为两位小数点,再将excel文件导入到spreadjs中,此时获取此单元格的格式 不是“0.00_);\\(0.00\\)”而是 '0.00_ ' 请问该怎么复现这个“0.00_);\\(0.00\\)”。
在spread中分别设置单元格为这两中格式,也是略微有差别的。
image.png531617125.png
如上图所示,格式为“0.00_);\\(0.00\\)”的单元格数字并没有完全靠右
回复 使用道具 举报
年年不吃鱼
初级会员   /  发表于:2022-8-17 16:40:14
板凳
沉沉 发表于 2022-8-17 16:34
您的问题是想问,如何判断当前单元格是不是属于数值格式吗?
js结合正则表达式可以判断当前单元格的格式。 ...

我这就是excel中设置了数值格式 image.png819480895.png ,导入spreadjs就是这种格式了,然后正则的话怎么匹配呢,正则改怎么写才能匹配所有的数值格式呢
回复 使用道具 举报
沉沉悬赏达人认证
金牌服务用户   /  发表于:2022-8-17 17:21:35
地板
这边的需求是什么,为什么需要匹配所有的数值格式。关于正则表达式,可以百度,这边给出一个验证两个小数点的正则表达式。
  1. //验证两位小数
  2. var reg= /^(([1-9]{1}\d*)|(0{1}))(\.\d{1,2})?$/     
  3. reg.test(parseFloat(sheet.getText(0,0))) //true
复制代码

回复 使用道具 举报
年年不吃鱼
初级会员   /  发表于:2022-8-17 17:24:59
5#
沉沉 发表于 2022-8-17 17:21
这边的需求是什么,为什么需要匹配所有的数值格式。关于正则表达式,可以百度,这边给出一个验证两个小数点 ...

这边的需求是需要记录所有数值格式单元格的改动,然后我不知道能设置多少种数字格式的,因为可以设置很多位小数,也可以设置千分位,还有科学计数法,还有会计格式的,每个格式都是不同的,没法列举出来
回复 使用道具 举报
沉沉悬赏达人认证
金牌服务用户   /  发表于:2022-8-17 17:39:56
6#
请问你的需求是用户修改单元格后,记录所有数值格式单元格的改动吗?
我这边有一个思路看下是否可行,
用户修改单元格后,触发cellChanged事件,在此事件中用typeof 判断当前单元格的值是否是数值类型,再去判断是否oldValue与newValue是否不一样,不一样的话,存在数组中。
这篇学习指南https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/cells/formatter/basic-formatter/vue
列出了大部分的单元格格式,可以对照一下。
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-8-17 18:12:57
7#
年年不吃鱼 发表于 2022-8-17 17:24
这边的需求是需要记录所有数值格式单元格的改动,然后我不知道能设置多少种数字格式的,因为可以设置很多 ...

单元格格式确实是非常多的且无法一一枚举的。如果是想要记录的单元格格式的变动,可以监听CellChanged事件
image.png742469482.png
回复 使用道具 举报
年年不吃鱼
初级会员   /  发表于:2022-8-18 09:30:39
8#
Derrick.Jiao 发表于 2022-8-17 18:12
单元格格式确实是非常多的且无法一一枚举的。如果是想要记录的单元格格式的变动,可以监听CellChanged事 ...

记录单元格变动我知道,我就是想判断这个单元格格式是不是数值格式的
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-8-18 17:11:15
9#
年年不吃鱼 发表于 2022-8-18 09:30
记录单元格变动我知道,我就是想判断这个单元格格式是不是数值格式的

如果是单判断上方工具栏选中的格式,那么就只有一个。如果是想要判断更多的数值类型就没有太好的办法了,这个数值格式正如前面所说的,无法一一穷举。
image.png558475951.png
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部