2014-09-24 41 views
0

我正在實現一個具有2個參數的接口:(System.IO.Stream input, System.IO.Stream output)從System.IO.Stream中讀取XLS文檔

如果輸入流源於XLSX文件,我將使用DocumentFormat.OpenXml.Packaging.SpreadsheetDocument來讀取文檔。

如果它是CSV它會更容易:StreamReader.ReadLine()

但是該流來自XLS文件,我不太確定如何正確讀取它。

我想知道Microsoft.Office.Interop.Excel是否可以讀取流,但我不確定這是可能的。

有沒有任何方法可以分析出System.IO.Stream提供的XLS文件?

+0

就是有人路過流到應用程序?或者你是否在應用程序中創建了流? – 2014-09-24 16:21:47

+0

有人正在通過這條河流,我無法控制它。 – 10p 2014-09-24 16:22:21

+0

所以,只是爲了澄清,如果文件是XLS,有人會將電子表格文檔對象傳遞給您。正確? – 2014-09-24 16:24:59

回答

1

這是另一個答案。它涉及一個新的圖書館(exceldatareader)。

Read excel file from a stream

+0

謝謝,Chuck,但正如我在熟悉「SpreadsheetDocument」解決方案的問題中提到的那樣 - 如果Excel文件是XML格式的(它們通常具有擴展名XLSX),則可以使用它。我需要打開一個XLS文件(Excel 97-2003 Workbook)。 – 10p 2014-09-24 16:34:56

+0

謝謝你的澄清(我今天必須有一個閱讀理解問題)。我爲你更新了答案。 – 2014-09-24 16:37:37

+0

我希望有一個標準的解決方案,但似乎沒有這樣做的標準方法。我會檢查建議的解決方案,謝謝。 – 10p 2014-09-24 16:50:39