我有A行B列的EXCEL表格:

获取一行数据:

IRow row=sheet.GetRow(i);

正常是这样的

row.Cells.Count = B;

但由于会存在没有激活的单元格,导致 row.Cells.Count <=B。

坑是这样的:

当你想要对某行第2个(或其他)单元格进行赋值时,我是这样做了:

row.Cells[1].SetCellValue("######");

如果恰巧这行的所有单元格都是激活的,那这样做的结果是没错的。

但如果刚好第2个单元格(你想的)没有被激活过,这将导致第2个激活的单元格(具体哪个不确定)被覆盖。

正确做法:

//真正的第2个单元格

public ICell GetCell(int index)
{
ICell cell = this.Row.FirstOrDefault(n => n.ColumnIndex == index);
if (cell == null)
{
cell = this.Row.CreateCell(index);
}
return cell;
}

这样就保证第2个单元格被赋值,而不覆盖其它的。

NPOI row.Cells[i] 的坑的更多相关文章

  1. HtmlRowCreated关于e.Row.Cells[0]的获取和设置

    获取采用:  cmd2.Parameters.AddWithValue("@xh", e.GetValue("学号").ToString().Trim()); ...

  2. NPOI导出Excel (C#) 踩坑 之--The maximum column width for an individual cell is 255 charaters

    /******************************************************************* * 版权所有: * 类 名 称:ExcelHelper * 作 ...

  3. NPOI读取Excel遇到的坑

    NPOI是POI的.NET版本.POI是用Java写成的库,能帮助用户在没有安装Office环境下读取Office2003-2007文件.NPOI在.NET环境下使用,能读写Excel/Word文件. ...

  4. 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility (续篇)

    上周六我发表的文章<分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility>受到了大家的热烈支持与推荐,再此表示感谢,该ExcelUtility ...

  5. 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility

    1. ExcelUtility功能:  1.将数据导出到EXCEL(支持XLS,XLSX,支持多种类型模板,支持列宽自适应)  类名:ExcelUtility. Export  2.将EXCEL ...

  6. NPOI导入导出EXCEL通用类,供参考,可直接使用在WinForm项目中

    以下是NPOI导入导出EXCEL通用类,是在别人的代码上进行优化的,兼容xls与xlsx文件格式,供参考,可直接使用在WinForm项目中,由于XSSFWorkbook类型的Write方法限制,Wri ...

  7. 数据字典生成工具之旅(4):NPOI操作EXECL

    这篇会介绍NPOI读写EXECL,读写EXECL的组件很多,可以使用微软自己的COM组件EXECL.exe读写,不过这种方式限制很大. 1:客户环境必须装Office(虽然现在机子上不装Office的 ...

  8. <转>Npoi导入导出Excel操作<载>

    //Datatable导出Excel private static void GridToExcelByNPOI(DataTable dt, string strExcelFileName) { tr ...

  9. NPOI之Excel——合并单元格、设置样式、输入公式

    首先建立一个空白的工作簿用作测试,并在其中建立空白工作表,在表中建立空白行,在行中建立单元格,并填入内容: //建立空白工作簿 IWorkbook workbook = new HSSFWorkboo ...

随机推荐

  1. springboot成神之——websocket发送和请求消息

    本文介绍如何使用websocket发送和请求消息 项目目录 依赖 DemoApplication MessageModel WebConfig WebSocketConfig HttpHandshak ...

  2. maven 安装 过程

    maven 安装 过程 1 下载: apache-maven-3.0.3-bin.zip 压缩包 2 将压缩包解压到需要安装的目录文件中. 比如解压到: Z:\zr_anzhungwenjian\ap ...

  3. Python Twisted系列教程15:测试诗歌

    作者:dave@http://krondo.com/tested-poetry/  译者: Cheng Luo 你可以从”第一部分 Twist理论基础“开始阅读:也可以从”Twisted 入门!“浏览 ...

  4. VirtualBox 桥接

    1.设置Virtual box,取消DHCP服务 管理->全局设定->网络->Host-Only->网络明细->DHCP服务器->启用服务器选项取消 2.宿机设置 ...

  5. Elasticsearch之head插件安装之后的浏览详解

    前提, Elasticsearch之插件介绍及安装 https://i.cnblogs.com/posts?categoryid=950999&page=2  (强烈建议,从头开始看) 比如, ...

  6. matlab GPU 操作

    从Matlab2013版本开始,matlab将可以直接调用gpu进行并行计算,而不再需要安装GPUmat库.这一改动的好处是原有的matlab内置函数都可以直接运用,只要数据格式是gpuArray格式 ...

  7. 页面布局 frameset元素

    frameset.html: <!DOCTYPE html><html lang="en"><head> <meta charset=&q ...

  8. saltstack系列(一)——介绍与安装

    saltstack简介 saltstack 是服务器基础架构集中化管理平台.具备配置管理.远程执行.监控等功能. saltstack 基于python. 注意: puppet是一种Linux.Unix ...

  9. java基础之JDBC八:Druid连接池的使用

    基本使用代码: /** * Druid连接池及简单工具类的使用 */ public class Test{ public static void main(String[] args) { Conne ...

  10. Linux3基本命令 ls,pwd,cat,echo,mv,cp,mkdir,rm,ln

    ls 列出文件名称. -l 列出长文件名称. -rwxr-xr-- 1 root root 10739 Dec 23 13:31 bbscon (7)          (4) (5) (6)     ...