从C#打开Excel文件时出错

试图打开连接到Excel文件时出现以下错误:

The Microsoft Access database engine cannot open or write to the file ''. It is already opened exclusively by another user, or you need permission to view and write its data. at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) at System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) at System.Data.OleDb.OleDbConnection.Open() 

此问题只发生在部署到服务器时。 我试过两个不同的服务器:32位和64位。 两个都运行Windows Server 2008 SP 2.代码在我的本地机器(Windows 7)上正常工作。 我已经在两台服务器上安装了Microsoft Office 2007,希望能够解决这个问题。 我用于excel文件的连接string如下所示:

 string result = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + _fileName + ";Extended Properties=\"Excel 12.0;HDR=NO;\""; 

_fileNamevariables是文件位置的绝对path。 我试过直接在网站的目录中放置一个文件,并设置完全控制所有用户的权限,但仍然无法正常工作。

我需要从我的web应用程序中查询excel文件的内容并将其显示给用户。 excel文件的数据input方式可以有不同的布局。

有什么我失踪,我需要做的是为了得到这个在服务器上工作?

请通过下面的链接,这是非常有益的,我解决了我的跟随它。

http://answers.microsoft.com/en-us/windows/forum/windows_7-windows_programs/windows-7-and-i-have-a-batch-file-to-copy-files/311cdd34-40a2-417c- bb7d-ca96a7ef56ee