找回密码
 立即注册

QQ登录

只需一步,快速开始

yin_tb

高级会员

53

主题

198

帖子

1001

积分

高级会员

积分
1001

微信认证勋章

yin_tb
高级会员   /  发表于:2022-3-31 11:39  /   查看:1992  /  回复:5
1金币
如题,如何在代码中设置格式,让单元格显示数字大写,如1001,显示 :壹千零壹我知道,在设计器中,是可以右键某列或某个单元格,出现菜单,选最下面的【设置单元格格式...】,然后,出现一个框,

在Number选项卡中,Cell Type 就默认default,下面的Category列表中,选择Special,右面有三项,分别是:邮政编码,中文小写数字,中文大写数字,
选择中文大写数字即可。

现实是,在程序中,我需要给footer的某个单元格设置这种格式,不知道代码中怎么写。像CellType.NumberCellType那些类型我知道怎么弄。

5 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-3-31 13:56:49
沙发
可以用下面的代码

  1. fpSpread1.ActiveSheet.AsWorksheet().ActiveCell.NumberFormat = "[DBNum1][$-zh-CN]General";
复制代码


重要的是后面的格式字符串,这个其实是设计器中你设置了上文你说的中文大写格式后,再点击到自定义中,就会显示为你这边设置的格式字符串
image.png66195067.png
回复 使用道具 举报
yin_tb
高级会员   /  发表于:2022-3-31 16:55:02
板凳
我试了下, fpSpread1.ActiveSheet.AsWorksheet().Cells(3,5).NumberFormat = "[DBNum1][$-zh-CN]General"; //这样可以,有效果。
给Footer这样设,为何没有效果呢?
fpSpread1.ActiveSheet.AsWorksheet().ColumnFooter.Cells(0,0).NumberFormat = "[DBNum1][$-zh-CN]General";
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-3-31 17:32:28
地板
需要和研发确认一下,大概率是目前此功能还不支持footer设置格式,这个帖子暂时保留处理
回复 使用道具 举报
yin_tb
高级会员   /  发表于:2022-3-31 17:43:44
5#
嗯,我还发现了个问题,挺有意思,如果数字是123.45,转的结果是:一百二十三.四五,而不是一百二十三元四角五分,如果数字是1023.45,转的结果是:一千0二十三.四五
,呵呵,有点意思,似乎和不懂英文的人把汉语翻译成英文一样,
你叫什么名字: your is what name哈哈。
看来,得自己写个函数来转了。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-3-31 17:55:20
6#
我发你的刚刚可能发错了,中文小写是DBNum1,中文大写是DBNum2,你需要的是大写

英语翻译这块,这个和excel中是保持一致的,大家都是翻译成了“壹佰贰拾叁.肆伍”
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部