找回密码
 立即注册

QQ登录

只需一步,快速开始

qyc

初级会员

20

主题

84

帖子

270

积分

初级会员

积分
270
qyc
初级会员   /  发表于:2023-3-22 17:39  /   查看:2707  /  回复:17
1金币
本帖最后由 qyc 于 2023-3-22 17:42 编辑

SpreadJS设置数值

SpreadJS设置数值

转PDF后

转PDF后
spreadJS单元格设置数值保留两位 , 但如果小数点后面是0的情况下 比如50.00 ,  使用导出excel和使用GCexcel转pdf时就变成50了

导出Excel后 , 变成自定义格式了 , 同时后面两个00没有了

导出Excel后 , 变成自定义格式了 , 同时后面两个00没有了

1.ssjson

2.17 MB, 下载次数: 426

17 个回复

正序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-24 16:19:48
18#
不客气,那就结贴了,有什么问题欢迎另开新帖进行询问。
回复 使用道具 举报
qyc
初级会员   /  发表于:2023-3-24 15:55:25
17#
Clark.Pan 发表于 2023-3-24 15:35
实际上上面得代码本身是有问题得,如果输入一个数字,那么args.newValue就是一个数字,数字类型本身是没有i ...

明白了  谢谢
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-24 15:35:53
16#
实际上上面得代码本身是有问题得,如果输入一个数字,那么args.newValue就是一个数字,数字类型本身是没有indexOf方法,后续if判断本来是会报错的,但是为什么不报错呢,因为SpreadJS内部做了转型处理,在遇到此类异常的时候给了他一个字符串的值,以便于后续操作。
你debug之后会发现,这里内部做了自动转型
image.png170850829.png

所以问题出在你事件逻辑的代码写法上。
回复 使用道具 举报
qyc
初级会员   /  发表于:2023-3-24 15:14:01
15#
Clark.Pan 发表于 2023-3-24 14:51
我可以笃定的说,这个问题跟版本就没关系,您自己排查一下工程代码中肯定加了哪句代码影响了这里。
这段代码注释掉就可以了 , 能解释下为什么么
  1.    /**
  2.      * 单元格内容变化监听
  3.      */
  4.     spread.bind(spreadNS.Events.ValueChanged, function (sender, args) {
  5.         let sheet = spread.getActiveSheet();
  6.         let str = args.newValue;
  7.         if (str.indexOf("\n") > 0) {
  8.             if (row != null && col != null) {
  9.                 sheet.getCell(row, col).wordWrap(true);
  10.                 sheet.autoFitRow(row);
  11.             }
  12.         }
  13.     })
复制代码
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-24 14:51:07
14#
我可以笃定的说,这个问题跟版本就没关系,您自己排查一下工程代码中肯定加了哪句代码影响了这里。
回复 使用道具 举报
qyc
初级会员   /  发表于:2023-3-24 14:49:15
13#
qyc 发表于 2023-3-24 14:46
15.1的版本可以么?

那个地址能根据版本下载?
回复 使用道具 举报
qyc
初级会员   /  发表于:2023-3-24 14:46:09
12#
Clark.Pan 发表于 2023-3-24 10:15
按照你说的方式,在你说的V15.2的版本上进行了测试,无法重现你说的情况

15.1的版本可以么?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-24 10:15:26
11#
按照你说的方式,在你说的V15.2的版本上进行了测试,无法重现你说的情况


您也可以脱离您的工程,找一个纯净的SpreadJS在线表格编辑器示例测试一下(在线表格编辑器安装包下的sample就可以)

我这边猜测应该是您的实现代码中的某些设置影响了这里,比如,是否自行改写过format等。

如果想要确认这个事情,请发一个能够重现问题并能够正常运行的demo来,我们也可以帮您来排查问题。

3.gif
回复 使用道具 举报
qyc
初级会员   /  发表于:2023-3-24 09:58:52
10#
Clark.Pan 发表于 2023-3-23 18:20
UI操作上只有一种方法,就是输入单引号+数字, '50
这个意思本身就是输入一个字符串数字,但这样做明显是 ...

你看下这个是实际录入操作是的视频 , 没有录入任何单引号

12.mp4

15.28 MB, 下载次数: 419

回复 使用道具 举报
qyc
初级会员   /  发表于:2023-3-23 18:38:36
9#
qyc 发表于 2023-3-23 14:01
这个是客户在页面上自己填写的,格式也是客户自己设置成数值类型的

我用的是15.2版本
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部