0
在我當前的項目中,我將創建一個程序,每天讀取一個新的Excel電子表格(每天向網絡文件路徑添加一個新電子表格)並導出到數據庫。每當我嘗試寫入數據表變量時,都會收到此錯誤:連接字符串/數據適配器問題
System.Data.OleDb.OleDbException(0x80004005):外部表格未處於預期格式。
使用下面的代碼片段,在最後一行出現錯誤:
xls_sql = "SELECT * FROM [" & FN & "]"
Dim dt2 As DataTable
Dim myAdapter2 As Data.OleDb.OleDbDataAdapter
dt2 = New DataTable()
myAdapter2 = New Data.OleDb.OleDbDataAdapter(xls_sql, Replace(My.Settings.xlsfile, "FileNameHere", FN))
myAdapter2.Fill(dt2)
我想我已經解決了該問題是,即使程序(我沒有的知識或訪問)添加日常的Excel文件將它們列爲.xls文檔,它們實際上被格式化爲.xml文檔。我的第一個線索是,當打開其中一張紙時,它看起來像一個普通的Excel表格,但是當我去「另存爲」時,默認選擇的選項是「XML」。
我使用這個當前的連接字符串XML:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\temp\FileNameHere;Extended Properties="Excel 12.0 Xml;HDR=YES";
,因爲我不得不尋找一個合適的替換我以前的.xls串,我知道的作品。
這個字符串是否正確?
任何人都可以闡明我的問題?
右鍵單擊xls文件並用記事本打開:它包含XML代碼?如果這樣的話使用.NET類來讀取XML。 – tezzo