0

私は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はそれを正常に読み取ります。
4

1 に答える 1

1

すでに報告されているバグです。このエラーが発生するのはExcel2007のみであり、MSはそれを認識していますが、対処することはありません。

このプロジェクトは、Excel2007でのみ使用できます。

于 2012-10-15T16:46:34.067 に答える