从C#打开Excel文件时出错

本文关键字:出错 文件 Excel 打开 | 更新日期: 2023-09-27 18:21:51

当我试图打开与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。该代码在我的本地计算机(Windows7)上运行良好。我在这两台服务器上都安装了Microsoft office 2007,希望一个必要的dll能解决这个问题。我用于excel文件的连接字符串如下:

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

_fileName变量是指向文件位置的绝对路径。我尝试过将一个文件直接放在网站的目录中进行调试,并将所有用户的权限设置为完全控制,但仍然不起作用。

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

为了在服务器上运行,我需要做什么吗?

从C#打开Excel文件时出错

请浏览下面的链接,这很有帮助,我在下面解决了我的问题。

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