私はOleDBとExcelと非常に混同しています。
私は2つのファイルを持っています:
One is saved in Excel 2007
One is saved in Excel 2010
これは、一部のコンピューターに2007およびその他の2010バージョンのMicrosoftExcelが搭載されているためです。
vb.netで私は使用します:
m_sConn1 = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='{0}';Extended Properties='Excel 12.0;HDR=NO;IMEX=1';", file)
いつ行うか:
conn1 = New System.Data.OleDb.OleDbConnection(m_sConn1)
conn1.open()
2010年に保存ファイルを使用すると、エラーは0になりました。2007年に保存されたもので私は得ました
"External table is not in the expected format"
この文字列接続は両方のバージョンに対応していますか?代わりにInteropを使用する必要がありますか?(ファイルはInterop Excel 12.0を使用して自動生成され、2007年と2010年に機能するため)。
2007 Office System Driver:Data ConnectivityComponentsをhttp://www.microsoft.com/en-us/download/details.aspx?id=23734から既にインストールしました
編集:
- 2010年に2007ファイルを開いて保存すると、oleDBはそれを正常に読み取ります。