最近遇到一个读取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){ //业务代码 }标签:RETURN,单元格,NPOI,MissingCellPolicy,BLANK,NULL,方法 From: https://www.cnblogs.com/lxhbky/p/17138330.html