深入学习ing

NPOI空单元格策略处理策略MissingCellPolicy.RETURN_NULL_AND_BLANK可能会导致你的方法无法运行

最近遇到一个读取Excel数据的业务,当代码执行到NPOI加载流数据的方法时,直接抛出异常:“Field not found: 'NPOI.SS.UserModel.MissingCellPolicy.RETURN_NULL_AND_BLANK'.”,方法都不带进去的,牛逼的很那!

方法进不去,一开始以为是外部代码问题,后面排查了各种可能的情况,都不行,最后,开始完全清空方法内部代码,居然成功了。好吧,问题一定出现在方法内部,最终定位到一段代码:

row.GetCell(field.Index, MissingCellPolicy.RETURN_NULL_AND_BLANK);

就是读取单元格时,附带了处理空单元格策略:MissingCellPolicy.RETURN_NULL_AND_BLANK,但是没有想到方法内部的一个代码还没有执行,直接就导致整个方法都无法调试了,不知道是VS的BUG还是NPOI的BUG。

解决方法很简单:就是把策略删掉,改为以下代码就可以了:

ICell cell=row.GetCell(field.Index);
if(cell!=null){
   //业务代码
}

posted on 2023-02-20 17:38  深入学习ing  阅读(666)  评论(0编辑  收藏  举报

导航