OleDbConnection到Excel样式表:场景背后的组件是什么?

时间:2011-06-23 09:10:08

标签: c# debugging excel oledbconnection

在我的源代码中,我需要阅读Excel 2007样式表的内容。 所以,我首先为它设置了一个OleDbConnection:

OleDbConnection conn = new OleDbConnection(String.Format(@"Provider = Microsoft.ACE.OLEDB.12.0;Data Source = {0};Extended Properties =""Excel 12.0 Xml;HDR=YES;IMEX=1"";", xlsFilePath));

这在我的计算机上完美运行,但在部署后不在服务器上: Microsoft.ACE.OLEDB.12.0 不是那里的可用提供商。这可能是因为我的计算机上安装了Office 2007。不幸的是,我不允许在服务器上安装它。

然而,我可能只在服务器上安装包含提供程序的DLL,这样就可以了......只要我能够知道该死的dll是什么!

这就是我撕掉头发的地方:我无法在调试窗口的成员树中找到我的方法来找出动态加载的实际组件来处理 Excel 12.0 连接:上课?哪个组装?不知道,我迷路了。

非常感谢您的帮助! : - )

1 个答案:

答案 0 :(得分:0)

我最终通过在服务器上安装Office 2007的驱动程序来修复我的问题(Office 2007驱动程序在许可方面不涉及与Office 2007应用程序相同的问题)。

以下是链接:http://www.microsoft.com/download/en/confirmation.aspx?id=23734

然后我将我的连接字符串修改为

@"Provider = Microsoft.ACE.OLEDB.12.0;Data Source = {0};Extended Properties =""Excel 12.0 Xml;HDR=YES;IMEX=1"";"

希望这能帮助面临同样问题的人。 : - )