zoukankan      html  css  js  c++  java
  • 记录一次NPOI操作Excel的掉坑经历

    在工作中遇到一个需求,需要使用 NPOI导出一个Excel文件,需求很简单,调用一个已经编辑好的.xlsx文件,然后往对应的单元格中填入数据,然后保存成一个新的.xlsx文件即可。但是实际操作中遇到一下几个问题。

    问题一:导出的数据原本是Number格式的,但是到了Excel中,成为了以文本格式保存的数字

    解决方案:

    1. 设置单元格的Type为Numeric
    2. 设置的值必须是Numeric格式的

    cell.SetCellType(CellType.Numeric);

     cell.SetCellValue(Convert.ToDouble(value.Split('~')[0]));

    问题二:导出到Excel模板后Excel单元格内的公式无效

    解决方案:

    sheet.ForceFormulaRecalculation = true;//强制Excel计算公式

    问题三:设置的单元格颜色无效

    解决方案:

    这个不知道原因,可能是NPOI的一个Bug,或者是因为我没找到正确的用法,

    ICellStyle style = hwk.CreateCellStyle();

    style.FillForegroundColor = 10;

    style.FillPattern = FillPattern.SolidForeground;

    cell.CellStyle = style;

    不管是XSSFWorkbook还是HSSFWorkbook这两个对象,设置单元格的代码都如上,但是,XSSFWorkbook怎么样都无法设置成功,找了很多文档,都不成功,最后改成使用HSSFWorkbook就正常了, 但是需要把模板修改为.xls格式,同时导出的文件也应该是.xls格式的

  • 相关阅读:
    Swift3.0 数组(Array)
    Swift3.0 UICollectionView简单使用
    Swift3.0 字符串(string)
    Swift3.0 元组 (tuples)
    Swift3.0 UICollectionView 删除,拖动
    Swift3.0 控制流
    Swift3.0 UITextView写反馈界面
    HashMap JDK1.8实现原理
    Volatile的详解
    阻塞队列之LinkedBlockingQueue
  • 原文地址:https://www.cnblogs.com/ckym/p/14930941.html
Copyright © 2011-2022 走看看