c#使用nopi类读Excel表格遇到null报错“未将对象引用设置到对象的实例”解决方案

报错截图如下

如上图错误实际上单元格值是null,固你要对创建一个单元格并赋值,看下面代码即可(如果不明白可以加QQ823783931)

在C#中使用NOPI 库操作Excel时,如果你尝试访问一个不存在的单元格,并且没有进行适当的null检查,就会遇到“未将对象引用设置到对象的实例”的异常,这是因为你试图在null引用上调用方法或属性。
为了避免这个问题,你需要先检查GetRow(i)是否返回了一个有效的IRow对象,然后再检查GetCell(2)是否返回了一个有效的ICell对象。下面是一个示例代码,展示了如何安全地访问一个单元格,即使它可能是null:

using NPOI.SS.UserModel; // 引入必要的NPOI命名空间  
using NPOI.XSSF.UserModel; // 引入XSSF相关的命名空间,如果你正在处理.xlsx文件  
// ... 其他必要的using指令 ...  
  
// 假设sheet是一个有效的ISheet对象  
ISheet sheet = ...; // 获取或创建sheet对象  
  
int rowIndex = i; // 要访问的行索引  
int columnIndex = 2; // 要访问的列索引(从0开始)  
  
// 获取行,如果行不存在则返回null  
IRow row = sheet.GetRow(rowIndex);  
  
// 如果行是null,则可能需要创建它(取决于你的逻辑)  
if (row == null)  
{  
    row = sheet.CreateRow(rowIndex);  
}  
  
// 获取单元格,如果单元格不存在则返回null  
ICell cell = row.GetCell(columnIndex);  
  
// 如果单元格是null,则创建一个新的单元格并设置其值(如果需要)  
if (cell == null)  
{  
    cell = row.CreateCell(columnIndex);  
    cell.SetCellValue("默认值"); // 设置单元格的值,这里是一个示例  
}  
  
// 现在你可以安全地使用cell对象了  
string cellValue = cell.StringCellValue; // 创建单元格的值赋值给cellvalue

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值