找回密码
 立即注册

QQ登录

只需一步,快速开始

张仕坤

金牌服务用户

1

主题

1

帖子

4

积分

金牌服务用户

积分
4
最新发帖
张仕坤
金牌服务用户   /  发表于:2024-1-4 10:13  /   查看:2490  /  回复:7
本帖最后由 Richard.Huang 于 2024-1-5 15:29 编辑

产品:SpreadJS

e1af2e8010b7c8924a4384bf181286d.png258406371.png

7 个回复

倒序浏览
Leo
超级版主   /  发表于:2024-2-21 16:49:33
推荐
SpreadJS虽然不能像某产品一样直接支持一个叫做人民币大写的特殊格式,但是搁不住咱有强大的Formula公式呀,你试试看下面这个公式
  1. =IF(TRIM(B1)="","",IF(B1=0,"","人民币"&IF(B1<0,"负",)&IF(INT(B1),TEXT(INT(ABS(B1)),"[DBNum2]")&"元",)&IF(INT(ABS(B1)*10)-INT(ABS(B1))*10,TEXT(INT(ABS(B1)*10)-INT(ABS(B1))*10,"[DBNum2]")&"角",IF(INT(ABS(B1))=ABS(B1),,IF(ABS(B1)<0.1,,"零")))&IF(ROUND(ABS(B1)*100-INT(ABS(B1)*10)*10,),TEXT(ROUND(ABS(B1)*100-INT(ABS(B1)*10)*10,),"[DBNum2]")&"分","整")))
复制代码
经过在线表格编辑器测试,好用。
image.png875434265.png

评分

参与人数 1金币 +500 收起 理由
Joestar.Xu + 500 赞一个!

查看全部评分

回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-1-4 10:13:53
沙发
您好,目前SpreadJS不支持这样的单元格格式,中文大写字母 和 人民币大写 是两种不同的单元格格式,SpreadJS此处的表现是与Excel一致的。

image.png932142944.png
回复 使用道具 举报
前端小白
超级版主   /  发表于:2024-2-21 17:09:26
地板
Leo 发表于 2024-2-21 16:49
SpreadJS虽然不能像某产品一样直接支持一个叫做人民币大写的特殊格式,但是搁不住咱有强大的Formula公式呀 ...

豁。。。Orz,给大佬跪了
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-2-21 17:18:22
5#
楼主也可以参考上述解决方案,使用公式来解决该问题。
回复 使用道具 举报
前端小白
超级版主   /  发表于:2024-2-21 17:30:17
6#
爬了下demo,https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/cells/formatter/format-string/purejs

基于大佬的方案,给你个高端玩法,这就跟格式化的用例一毛一样,不需要再搞个隐藏单元格干啥了。
拿走不谢
  1.             var spread = new GC.Spread.Sheets.Workbook("ss");
  2.             var sheet = spread.getActiveSheet();
  3.             sheet.setColumnWidth(0, 300);
  4.             sheet.getCell(0, 0).value(1234.456).formatter('=IF(TRIM(@)="","",IF(@=0,"","人民币"&IF(@<0,"负",)&IF(INT(@),TEXT(INT(ABS(@)),"[DBNum2]")&"元",)&IF(INT(ABS(@)*10)-INT(ABS(@))*10,TEXT(INT(ABS(@)*10)-INT(ABS(@))*10,"[DBNum2]")&"角",IF(INT(ABS(@))=ABS(@),,IF(ABS(@)<0.1,,"零")))&IF(ROUND(ABS(@)*100-INT(ABS(@)*10)*10,),TEXT(ROUND(ABS(@)*100-INT(ABS(@)*10)*10,),"[DBNum2]")&"分","整")))')
复制代码

缺点:Excel不支持这个高端的活计
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-2-21 17:37:30
7#
回复 使用道具 举报
Leo
超级版主   /  发表于:2024-2-23 12:34:33
8#
前端小白 发表于 2024-2-21 17:30
爬了下demo,https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/cells/formatter/format- ...

别忘了Excel还有一个东西叫做VBA
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部