欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

NPOI 2.0 教程(二):编辑既存的EXCEL文件

程序员文章站 2022-05-26 12:23:55
...

请接着学习 第一步 第二步 在读入之后,操作HSSFWorkbook这个类就和第一篇教程里一样了。 必须要遵循的一个规则是, 如果你要编辑的行和单元,原本没有,或者从未创建过的,就必须先创建。 如: //在第二行创建行 IRow row = sheet.CreateRow(1); //在第二行


请接着学习


第一步



第二步

在读入之后,操作HSSFWorkbook这个类就和第一篇教程里一样了。

必须要遵循的一个规则是,如果你要编辑的行和单元格,原本没有值,或者从未创建过的,就必须先创建。

如:

//在第二行创建行  
IRow row = sheet.CreateRow(1);  
//在第二行的第一列创建单元格  
ICell cell = row.CreateCell(0);

之后这个cell才能被使用。

  • 那么如果我不创建,直接使用会怎么样呢?
  • 答:sheet.GetRow(1)取回来的值为null,在null上再使用GetCell(0)就会报空对象的错误。
//获取第一行
IRow row = sheet.GetRow(0);  
//在第一行获取第一列单元格  
ICell cell = row.GetCell(0);
上面两种写法也可以简写成如下的方式
//创建第二行,第一列
ICell cell = sheet.CreateRow(1).CreateCell(0); 

//获取第一行,第一列
ICell cell = sheet.GetRow(0).GetCell(0);

然后使用cell.SetCellValue()函数对其赋值即完成编辑。


当然,赋值语句也可以和上述语句并作一行书写。例如

sheet.GetRow(0).GetCell(0).SetCellValue("编辑的值");


第三步

编辑完之后需要保存

using (FileStream fileStream = File.Open("d:\\excel.xls",
FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
    wk.Write(fileStream);
    fileStream.Close();
}

这样就完成了读入已有文件,编辑,保存。