处理ERP的EXCEL报表数字长度超15位导致精度丢失的问题

ERP的报表,输出格式是EXCEL的,经常会出现数字长度超15位导致精度丢失的问题。

目前发现的解决办法有2个。

方法1:可以将报表改为XML标准开发,就是产生XML,再开发一个Template的方式。这样子XML处理引擎会自动处理数字格式。当超出15位会自动帮我们转格式。你们可以自己测试。

方法2:但是,我们更常用的开发方式是写一个PLSQL,输出HTML格式的代码,再用XLS打开,输出EXCEL。解决方法如下。

首先我们看看问题:

如下图所示,这个HTML脚本的文件,输出的内容是没问题的,料号为:16025020213000124

但是,如果用Excel打开,这时候格式就变了,最重要的是,超出15位的精度会丢失。这个是很严重的问题。

明明是16025020213000124,这里就变为了16025020213000100。这个根本不是同一个料号啊,精度"24"丢失了!!!!

解决办法:

还是得用文本来存储这个数值内容。

所以,在HTML加一个class:.txt{mso-number-format:"\@";}

然后,在型号那里,指向这个class作为格式控制(注意是每一个型号的td标签都要加这个txt类),即可:

效果:

上图可以看出,物料编码就是完全没问题了。和输出的内容一致了。

对应的PLSQL代码怎么修改,这个,,,不用多说了吧。

(全文完)

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值