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

  • 相关阅读:
    Linux下守护进程的编程实现(转)
    gcc 中-I、 -L 与-l选项的作用
    va_list 、va_start、 va_arg、 va_end 使用说明
    sizeof('a')在C与C++中的区别
    Qt主要类简介
    linux命令
    linux文件编程
    linux一些基本命令
    Linux主机SSH免密设置解析
    javaweb添加拦截器
  • 原文地址:https://www.cnblogs.com/ckym/p/14930941.html
Copyright © 2011-2022 走看看