[英]Can't edit the existing Excel file with NPOI?
我嘗試用NPOI創建一個新的Excel文件,它可以正常工作,(僅)讀取Excel文件也可以。 但是,現在我想打開一個現有的Excel文件並在其上追加一些行,它在NPOI.HSSF.UserModel.HSSFWorkbook構造函數的代碼行處崩潰。 這是代碼:
using(FileStream fs = new FileStream(myFile, FileMode.Append)){
HSSFWorkbook wb = new HSSFWorkbook(fs); //<-- It is crashed right at here
....
}
沒有異常詳細信息,它僅顯示一個窗口,指出應用程序已崩潰,並提供3個選項供您選擇,中間一個是關閉應用程序:
快照
這就是為什么我無法理解並且很難解決它的原因。
如果我將FileMode更改為FileMode.Open,則構造函數可以很好地工作,但這只是為了閱讀。 我認為有一些與FileAccess策略相關的事情,並嘗試了以下方法:
using(FileStream fs = new FileStream(myFile, FileMode.Append, FileAccess.ReadWrite)){//<-- However it is crashed right at here
HSSFWorkbook wb = new HSSFWorkbook(fs);
....
}
我已經嘗試了一種解決方法,方法是打開(只讀)現有的Excel文件,將其復制一張,然后將此表添加到新的HSSFWorkbook中,然后寫入(僅寫)到新的文件流中,但是沒有辦法,因為HSSFWorkbook沒有Worksheet的集合,也沒有Add方法,所以新表僅由CreateSheet()方法創建。 真煩人
你能幫我這個忙嗎? 我先嘗試NPOI,然后再嘗試EPPlus。
您的幫助將不勝感激。
謝謝。
您的文件格式是什么? xls還是xlsx? 如果是xlsx,則可以立即嘗試NPOI 2.0。 支持xlsx。 這是下載鏈接: https : //npoi.codeplex.com/releases/view/112932
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.