码迷,mamicode.com
首页 > 其他好文 > 详细

NPOI row.Cells[i] 的坑

时间:2016-09-28 19:14:40      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:

我有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] 的坑

标签:

原文地址:http://www.cnblogs.com/yipeng-yu/p/5917559.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!