润乾报表数字大写转换解决方案

         在制作金融报表,报销单的时候,经常需要将数字转化为大写的文字,有时还需要逐位拆开,制成形如下图的报表:

         润乾报表给出的相关解决方案如下:

         首先为用户提供三种小数转换规则:直接舍弃、直接进位、四舍五入,分别用参数-1,1,和0来表示

             然后构造参数用以保留小数位数,范围为[0,4]超出范围则按临近顺序选取0或4。设置好参数,写入默认值

如下图制表:

 

 

B1格中有一部分冗余校验,isnumber函数判定数据是否是数字,参数@number已经设定格式为数值,润乾会自动校验其格式,B1中的方法可用于从数据库中提取数据做校验。

其中B8单元格的完整内容是=if(B7>13,"万,千,百,十,","") + if(B7>9,"万,千,百,十,","") + "亿,千,百,十,万,千,百,十,元" +  if(B2==1,",.,角","") + if(B2==2,",.,角,分","") + if(B2==3,",.,角,分,厘","") + if(B2==4,",.,角,分,厘,毫","")

B8中的逗号作为B11中的识别符。

B14和B15用来标示“¥”的位置。

函数填写好后,需要设置B11单元格为横向扩展,然后将B10\B14\B15的上主格设置为B11,其余格的上主格要设为'0,即初始格,不扩展。

B3单元格的显示格式设定为if(B2==0,"#0",B2==1,"#0.0",B2==2,"#0.00",B2==3,"#0.000",B2==4,"#0.0000")

B11的隐藏列属性中写入表达式:if(value()==".",true)

B17的显示值属性写入表达式:if(B14 >= 0, mid(value(),B14,B15), B14 == -1,"¥","")

第1行至第15行设置成隐藏行,不显示

B18的显示值要利用润乾报表自带的转换函数,rmb(value())。

调整好B列的宽度之后,程序执行如下:

该方法主要用于将数字拆分,如果单纯需要最下面的大写数字,可以利用B1格中的校验函数以及润乾的rmb()函数,可以大批量地自动转换大写数字。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部