2012-07-14 86 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中

相关问题