2012-12-13 76 views
2

我有一個.xls擴展名的文件,它實際上是由tab空格分隔的數據,即 當我右鍵單擊並在NotePad中打開文件時,我可以看到純文本中的所有數據,標籤空間從tab分隔的xls文件中讀取數據

我使用下面的連接字符串從文件

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\abc.xls;Extended Properties=\"Excel 8.0;HDR=NO;IMEX=1;FMT=TabDelimiter;\"; 

它適用於被保存爲在Microsoft Excel的.xls的其他文件中讀取數據,但我得到以下情況例外,當我嘗試與上述文件

"External table is not in the expected format." 

我該如何從C#中的這樣的文件讀取數據?

+5

如果它是一個製表符分隔的文件,它是不是一個Excel文件,即使是在OS與Excel相關聯,如果Excel能夠打開它。 只要將文件視爲任何.txt製表符分隔的文件即可。 –

+0

檢查此鏈接http://www.connectionstrings.com/textfile –

+0

@iDevlop我使用了下面的連接字符串'Provider = Microsoft.Jet.OLEDB.4.0; Data Source = c:\ txtFilesFolder \; Extended Properties =「text; HDR = NO; FMT = Delimited」;'並且這不適用於我的擴展名爲.xls的文件,當我將擴展名更改爲.txt時,僅讀取了一列中的所有數據即它沒有考慮tab作爲分隔符......我的文件在前6行中有一些垃圾文本,所以我在上面的連接字符串中給出了HDR = NO – ghouse

回答