在c#中使用NPOI踩坑记录

网上有很多关于NPOI中数字小数位格式的设置,常见的有

 HSSFDataFormat.GetBuiltinFormat("0.00");

本人要根据具体的列来设置具体的小数位,上面的就没有用了,网上还有一种

ICellStyle numberStyle1 = workbook.CreateCellStyle();
                                    numberStyle1.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.CENTER;
                                    numberStyle1.DataFormat = format1.GetFormat("0.0000");

上面的写法如果是统一的列可以把numberStyle1 写在模块外面,如果要对多列进行就必须有多个numberStyle1 ,具体如下

 if(k==5|| k == 9)
{   //当要设置多个单元格样式必须创建多个单元格样式实例
   ICellStyle numberStyle1 = workbook.CreateCellStyle();
    numberStyle1.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.CENTER;
     numberStyle1.DataFormat = format1.GetFormat("0.0000");
    cell.CellStyle = numberStyle1;
 }
 else if (k == 7)
 {
 ICellStyle numberStyle1 = workbook.CreateCellStyle();
 numberStyle1.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.CENTER;
 numberStyle1.DataFormat = format1.GetFormat("0.000");
 cell.CellStyle = numberStyle1;
 }

看完你或许会说直接将numberStyle1.DataFormat每次覆盖掉,但是实际上本人实际项目实验了几遍都不行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值