2012-07-14 89 views
0

我很困惑於OleDB & Excel。保存爲2007格式時連接字符串不起作用

我有2個文件:

One is saved in Excel 2007 
One is saved in Excel 2010 

這是因爲某些計算機有2007年和2010等版本的Microsoft Excel。

在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系統驅動程序:數據連接組件從http://www.microsoft.com/en-us/download/details.aspx?id=23734

編輯:

  • 如果我在2010年打開2007文件並保存它,OLEDB讀取它確定。
+0

我知道有一些問題問相同的,但是所有的人都有關更改噴氣式飛機ACE。但我的情況是不同的,它不會在2007年保存的文件中工作。 – Jaxedin 2012-07-14 00:14:29

+0

這是一個已經報告的錯誤。只有Excel 2007有這個錯誤,MS知道它但從未解決它。 – Jaxedin 2012-10-15 16:46:19

回答

1

這是一個已經報告的錯誤。只有Excel 2007有這個錯誤,MS知道它但從未解決它。

這個項目只能使用W/Excel 2007中

相關問題