2017-04-10 52 views
0

我試圖從輸入流中讀取excel文件。使用BinaryStream閱讀器讀取Excel文件不使用Microsoft Office DLL

我想逐行閱讀並將列信息從Excel保存到數據庫。

我無法讀取該文件,任何人都可以幫助我弄清楚我缺少什麼。

以下是下面的代碼。

using (System.IO.BinaryReader sr = new System.IO.BinaryReader(fileToUpload.PostedFile.InputStream)) 
          { 

           do 
           { 
            tester.Text = tester.Text + sr.ReadString() + "</br>"; 

           } while (sr.PeekChar() > 0); 
          } 

感謝 KARTHIK

+0

做一個如何用C#讀取excel文件的搜索。 http://stackoverflow.com/search?q=Read+excel+file+c%23 –

+0

可能的重複[從流中讀取excel文件](http://stackoverflow.com/questions/560435/read-excel-文件從流) – Sorceri

+0

我們的服務器沒有Microsoft Office DLL,並且不允許安裝第三方庫。所以我試圖實現使用Binarystream。請讓我知道如果有其他方式嘗試 – KNC

回答

-1

通常情況下,在文本文件中,我們讀到行由行。我懷疑Excel是否也會逐行提供數據(或)您將能夠識別行尾字符。如果您將Excel的行關聯爲行,那可能是錯誤的。也許你可以嘗試使用CSV文件,它可以逐行閱讀,並可以作爲單獨的行處理。

+0

但我得到的輸入流有數據需要保存在數據庫中 – KNC

+0

您是否能夠識別二進制流中的行尾字符?當您獲取Excel數據時,因爲所有內容都是1和0,您將能夠將它們作爲二進制流讀取。但是,當您掌握二進制數據時,需要將它們作爲文本數據進行處理。 – Barani

+0

我能夠使用while語句中的條件檢測流的結束。真正的問題是從流中讀取文本數據 – KNC