保存为2007格式时连接字符串不起作用

时间:2012-07-14 00:07:15

标签: interop excel-2007 oledb vb.net-2010 excel-2010

我对OleDB& Excel中。

我有两个文件:

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()

使用save-in-2010文件我得到0错误。 随着2007年保存的那个我得到了

"External table is not in the expected format"

这两个版本的字符串连接是什么?我应该使用Interop吗? (因为该文件是使用Interop Excel 12.0自动生成的,它可以在2007年和2010年使用。)

我已经从http://www.microsoft.com/en-us/download/details.aspx?id=23734

安装了2007 Office System驱动程序:数据连接组件

编辑:

  • 如果我在2010年打开2007文件并保存它,那么oleDB就可以了。

1 个答案:

答案 0 :(得分:1)

已经报道了这是一个Bug。只有Excel 2007有此错误,MS知道它但从未解决过它。

此项目只能使用w / excel 2007。