首页 > 代码库 > NPOI row.Cells[i] 的坑
NPOI row.Cells[i] 的坑
我有A行B列的EXCEL表格:
获取一行数据:
IRow row=sheet.GetRow(i);
正常是这样的
row.Cells.Count = B;
但由于会存在没有激活的单元格,导致 row.Cells.Count <=B。
坑是这样的:
当你想要对某行第2个(或其他)单元格进行赋值时,我是这样做了:
row.Cells[1].SetCellValue("######");
如果恰巧这行的所有单元格都是激活的,那这样做的结果是没错的。
但如果刚好第2个单元格(你想的)没有被激活过,这将导致第2个激活的单元格(具体哪个不确定)被覆盖。
正确做法:
if(row.GetCell(1)==null) //真正的第2个单元格
{
ICell cell = row.CreateCell(1);
cell.SetCellValue("#######");
}
else
{
row.Cells[1].SetCellValue("######");
}
这样就保证第2个单元格被赋值,而不覆盖其它的。
NPOI row.Cells[i] 的坑
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。