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格式的

  • 相关阅读:
    kettle Switch / Case Verification fails on working Tranfsormation
    KETTLE 并行任务设置
    查看ORACLE各表空间使用情况
    KETTLE使用小记
    ORACLE IMP三种模式
    倒腾ORACLE小记
    KETTLE xls表格导入
    绕点旋转(老问题)
    TransformToolControl.as
    钻石恒久远,一颗永流传
  • 原文地址:https://www.cnblogs.com/ckym/p/14930941.html
Copyright © 2011-2022 走看看