欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

NPOI 笔记

程序员文章站 2022-05-07 14:11:21
前言 文档:http://npoi.codeplex.com/documentation 示例:https://npoi.svn.codeplex.com/svn/ 版本:2.2.1 (通过nuget进行安装的) 应用场景:https://github.com/zhaoqingqing/TableM ......

前言

文档:http://npoi.codeplex.com/documentation

示例:https://npoi.svn.codeplex.com/svn/

版本:2.2.1 (通过nuget进行安装的)

 应用场景:https://github.com/zhaoqingqing/TableML  解析Excel数据成tsv(类似csv)

基础知识

workbook(工作薄):一个excel文件可以包含多张表(sheet)

NPOI 笔记

行:Row

列:Column

单元格:Cell

 

 

NPOI Cannot get a text value from a numeric formula cell

当单元格的内容是由公式组成时,获取值时报以下Error:

未经处理的异常:  System.InvalidOperationException: Cannot get a text value from a numeric formula cell
   在 NPOI.XSSF.UserModel.XSSFCell.get_RichStringCellValue()
   在 NPOI.XSSF.UserModel.XSSFCell.get_StringCellValue()

NPOI 笔记

解决方法:

通过上面的调试信息可以看到 cell.CachedFormulaResultType 有表示这个公式单元格的类型

switch (cell.CachedFormulaResultType)
{
    //已测试:SUM,& 
        case CellType.Numeric:
            return cell.NumericCellValue.ToString();
        case  CellType.String:
            return cell.StringCellValue;
}