關於c#使用Npoi庫的一些隨筆

autistic_fish發表於2020-12-09

1.XSSFWorkbook和HSSFWorkbook的不同

二者都可以生成excel,但是格式上有所區別。
HSSFWorkbook:是操作Excel2003以前(包括2003)的版本,副檔名是.xls
XSSFWorkbook:是操作Excel2007 +的版本,副檔名是.xlsx

2.excel最後一行和最後一列的定義

可以利用下面的程式碼讀取最後一行和某一行的最後一列,sheet是指sheet的名稱。

sheet.LastRowNum
sheet.GetRow(i).LastCellNum

但是需要注意的是,最後一行檢索的行數,是包括改變了行高的行數。而最後一列需要設定格式(例如內容的格式,文字、數字等,單純改變列寬不作數)。

3. npoi對於excel的索引

行和列都從0開始。

4.excel空單元格的讀取。

首先,需要改變excel單元格的格式,否則sheet.GetRow(i).GetCell(j)的時候會報錯,提示沒有引用物件。
第二,空單元格讀取結果為空,而不是null

sheet.GetRow(i).GetCell(j).ToString()

5.excel單元格的寫入

利用npoi建立一個新的sheet時,必須先createrow,在createcell,在setvalue,否則同樣報錯,提示沒有引用物件。

XSSFWorkbook newWorkBook = new XSSFWorkbook();
ISheet newSheet = newWorkBook.CreateSheet("newsheet");
int creatRowIndex = 0;
newSheet.CreateRow(creatRowIndex);
sheet.GetRow(i).CreateCell(j).SetCellValue();

相關文章