NPOI导出数值格式设置(我是保留四位小数,不足补0)

看了网上好多帖子,都是保留两位小数的,写法是:

 HSSFDataFormat.GetBuiltinFormat("0.00");

于是想四位小数,就是多加两个00,变成:

 HSSFDataFormat.GetBuiltinFormat("0.0000");

说实话,从这里就开始入坑了,活生生被这个坑死了,导出来的,比如是数字:17.88,还是17.88,并没有补全为17.8800;看起来没毛病啊,为嘛不行呢?

后来又翻了遍百度,发现所有文章里都说这是个内嵌的样式,那我想是不是没有理解这个内嵌的意思,所以看了下,发现内嵌指的是自定义的,而默认的自定义是没有的0.0000这种格式的,所以虽然用HSSFDataFormat.GetBuiltinFormat("0.0000")设置了,但是也没用。如下图所示,所以这种设置格式的方式并不能实现保留四位小数,不足补0的要求。

故改用了另外一种格式制定方法,将原来的

number4Css.DataFormat =HSSFDataFormat.GetBuiltinFormat("0.0000");

改为如下两句话  即可  实现功能

IDataFormat dataformat = wb.CreateDataFormat();
number4Css.DataFormat =dataformat.GetFormat("0.0000");

 

posted @ 2018-07-04 15:24  看不见的远方叫未来  阅读(1217)  评论(0编辑  收藏  举报