NPOI 笔记

前言

文档: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;
}

相关推荐