簡體   English   中英

無法使用NPOI編輯現有的Excel文件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM