我正在研究一個應用程序,該應用程序應該從文件末尾讀取一行,對其執行某些操作,然後刪除該行並更新該文件。C#NPOI Excel工具不會刪除該行嗎?
我正在使用NPOI庫,但它不起作用。 爲了從進來避免不良數據(空細胞),我運行下面的檢查:
IWorkbook WB;
ISheet WS;
ICell cell;
using (FileStream FS = new FileStream(p, FileMode.Open, FileAccess.Read)) {
if (Path.GetExtension(p).ToLower().Equals("xls"))
WB = new HSSFWorkbook(FS);
else
WB = new XSSFWorkbook(FS);
}
WS = WB.GetSheetAt(0);
cell = WS.GetRow(WS.LastRowNum).GetCell(0);
if (cell == null) {
IRow row = WS.GetRow(WS.LastRowNum);
WS.RemoveRow(row);
using (FileStream FS = new FileStream(p, FileMode.Create, FileAccess.Write))
WB.Write(FS);
DoFunc(args);
}
然而,這會陷入無限循環。我檢查了代碼,並且LastRowNum屬性沒有變小。爲什麼這實際上並沒有從工作表中刪除最後一行?
有沒有更好的方法來實現這個目標?
固定在NPOI 2.2.1 – DonnyTian
的錯誤我仍然有同樣的問題,雖然我使用NPOI 2.2.1 – kevin