找回密码
 立即注册

QQ登录

只需一步,快速开始

nutstore
金牌服务用户   /  发表于:2023-7-27 17:52  /   查看:2140  /  回复:7
本帖最后由 Joestar.Xu 于 2023-7-28 10:34 编辑

如图, 定义一个转换中文金额大写的lambda公式运行报错, 这个lambda公式在spreadjs下能正常使用



代码如下:

  1.       Workbook workbook = new Workbook();

  2.       workbook.getNames().add("ADD1", "=LAMBDA(x, X+1)");
  3.       workbook.getActiveSheet().getRange("A1").setFormula("=ADD1(123)");
  4.       System.out.println(workbook.getActiveSheet().getRange("A1").getValue());

  5.       workbook.getNames().add("CNAMOUNT", "=LAMBDA(amount, ""&IF(TRIM(amount)="","",IF(amount=0,"",""&IF(amount<0,"负","")&IF(INT(amount),TEXT(INT(ABS(amount)),"[dbnum2]")&"圆",)&IF(INT(ABS(amount)*10)-INT(ABS(amount))*10,TEXT(INT(ABS(amount)*10)-INT(ABS(amount))*10,"[dbnum2]")&"角",IF(INT(ABS(amount))=ABS(amount),,IF(ABS(amount)<0.1,,"零")))&IF(ROUND(ABS(amount)*100-INT(ABS(amount)*10)*10,),TEXT(ROUND(ABS(amount)*100-INT(ABS(amount)*10)*10,),"[dbnum2]")&"分","整"))))");
  6.       workbook.getActiveSheet().getRange("A2").setFormula("=CNAMOUNT(123)");
  7.       System.out.println(workbook.getActiveSheet().getRange("A2").getValue());

复制代码



7 个回复

倒序浏览
nutstore
金牌服务用户   /  发表于:2023-7-27 17:54:42
沙发
不知道图为啥没贴上, 还导致提交报错

这是上面问题的报错截图

image.png234176024.png
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-7-28 09:12:19
板凳
您好,您提到SpreadJS是正常的,我这边试了一下,SpreadJS也显示计算错误,应该如何修改才能使SpreadJS中也能正常显示呢?

image.png849481811.png
回复 使用道具 举报
nutstore
金牌服务用户   /  发表于:2023-7-28 09:22:17
地板
Joestar.Xu 发表于 2023-7-28 09:12
您好,您提到SpreadJS是正常的,我这边试了一下,SpreadJS也显示计算错误,应该如何修改才能使SpreadJS中也 ...

你要把lambda公式通过名称管理器添加, 如图



然后在找个单元格输入公式

=CNAMOUNT(123)



结果如下:


回复 使用道具 举报
nutstore
金牌服务用户   /  发表于:2023-7-28 09:27:27
5#
这论坛有bug, 有些情况下图片贴不上, 看这个截图

image.png105199278.png
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-7-28 10:14:13
6#
您好,问题已重现,这边调研一下,后续有进展我会在本贴中回复您。

本帖先做保留处理了。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-8-2 11:40:19
7#
您好,该问题已被确认为是一个Bug,目前正在修复中,等修复完毕我会在帖子下回复您。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-8-31 10:25:21
8#
您好,该问题已在6.2.1中修复,您可以升级后再试试看。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部