NPOI基础知识
.整个Excel表格叫做工作表: WorkBook(工作薄)
包含的叫页(工作表):Sheet
行:Row
单元格:Cell
.NPOI 是开源的 POI 项目的.NET版,可以用来读写Excel,Word,PPT文件。NPOI能够读写几乎所有的Office 97-2003文件格式。 在处理Excel文件上,NPOI 可以同时兼容 xls 和 xlsx。
最近一个项目在用C#开发,将更新数据保存在excel中。于是接触到c#在这方面的应用,C#有多种Excel的读写方法。使用Office自带的库,还有spire.xls,这个有商业版本,所以慎用。这个看大家的需求,笔者使用的是NPOI,这种方法在不安装offices的时候也是可以读写的,速度很快,直接在从Nuget搜索下载就是了。刚接触这个,大多数例子是一次添加数据,都需要重新读写数据流,笔者安排定时保存数据,因此需要不断追加数据到原有表格,代码如下:
public void AppendExcelData(string excelPath)
{
FileStream fs = new FileStream(excelPath, FileMode.Open,
FileAccess.ReadWrite, FileShare.ReadWrite);//读取流
POIFSFileSystem ps = new POIFSFileSystem(fs);
HSSFWorkbook workbook = new HSSFWorkbook(ps);
ISheet sheet = workbook.GetSheetAt(0);//获取工作表
FileStream fout = new FileStream(excelPath, FileMode.Open,FileAccess.ReadWrite, FileShare.ReadWrite);//写入流
IRow row = sheet.CreateRow((sheet.LastRowNum + 1));//在工作表中末尾添加一行
ICell cell1 = row.CreateCell(0);
cell1.SetCellValue("测试数据bo");//赋值
fout.Flush();
workbook.Write(fout);//写入文件
workbook = null;
fout.Close();
}