从C#打开Excel文件时出错

时间:2012-01-27 14:22:13

标签: c# asp.net 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,并希望必要的dll可以解决这个问题。我用于excel文件的连接字符串如下:

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

_fileName变量是文件位置的绝对路径。我已经尝试通过直接将文件放在网站的目录中进行调试,并将权限设置为完全控制所有用户,但仍然无法正常工作。

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

为了让它在服务器上运行,我还有什么需要做的吗?

1 个答案:

答案 0 :(得分:0)