我正嘗試讀取OpenXML的excel。 我所做的僅僅是如下:打開excel時出現異常:文件包含損壞的數據
private WorkbookPart wbPart = null;
private SpreadsheetDocument document = null;
public byte[] GetExcelReport()
{
byte[] original = File.ReadAllBytes(this.originalFilename);
using (MemoryStream stream = new MemoryStream())
{
stream.Write(original, 0, original.Length);
using (SpreadsheetDocument excel = SpreadsheetDocument.Open(stream, true))
{
this.document = excel;
this.wbPart = document.WorkbookPart;
UpdateValue();
}
stream.Seek(0, SeekOrigin.Begin);
byte[] data = stream.ToArray();
return data;
}
}
我在構造函數初始化this.originalFilename。它與 '的.xlsx' 結束的文件名我與2010年的excel
創建但是這行代碼
使用(SpreadsheetDocument的excel = SpreadsheetDocument.Open(流,真))
給出異常:消息:System.IO.FileFormatException:文件包含損壞的數據。 The StackTrace:
有沒有人知道如何解決這個問題?在開始時,我沒有使用Stream,我只是使用SpreadsheetDocument.Open(filename,true)。然而,事實證明,這是一個例外。 我試圖創建一個新的.xlsx文件,但它仍然是一樣的。
我試過完全一樣的東西。但它不起作用。 – Payson
嗨,再次感謝。我發現這不是我的問題。上面的代碼工作正常。異常是由NUnit引起的。 – Payson
@Payson您好,請您詳細說明您的問題到底是什麼(以及您是如何解決問題的),因爲我面臨同樣的問題。 –