读取EXECL数据,本期服务器上浏览时,没问题,在其他机器上访问时,出现了:Microsoft Jet 数据库引擎打不开文件''。 它已经被别的用户以独占方式打开,或没有查看数据的权限。
我连接EXECL代码如下:
try
{
//获取文件路径信息
string filePath = FiOut.Value;
//建立Execl连接字符串
string ExeclConstr = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" + filePath;
//查询语句
string ExeclSql = "select * from [Sheet1$]";
//连接Execl
OleDbConnection ExeclConn = new OleDbConnection(ExeclConstr);
ExeclConn.Open(); OleDbCommand ExeclCmd = new OleDbCommand();
ExeclCmd.Connection = ExeclConn;
ExeclCmd.CommandText = ExeclSql; //读取Execl数据 OleDbDataReader ExeclDr = ExeclCmd.ExecuteReader(); DataTable ExeclDt = new DataTable();
ExeclDt.Load(ExeclDr);
ExeclConn.Close();
ExeclGrid.DataSource = ExeclDt;
ExeclGrid.DataBind();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
求高手指教
我连接EXECL代码如下:
try
{
//获取文件路径信息
string filePath = FiOut.Value;
//建立Execl连接字符串
string ExeclConstr = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" + filePath;
//查询语句
string ExeclSql = "select * from [Sheet1$]";
//连接Execl
OleDbConnection ExeclConn = new OleDbConnection(ExeclConstr);
ExeclConn.Open(); OleDbCommand ExeclCmd = new OleDbCommand();
ExeclCmd.Connection = ExeclConn;
ExeclCmd.CommandText = ExeclSql; //读取Execl数据 OleDbDataReader ExeclDr = ExeclCmd.ExecuteReader(); DataTable ExeclDt = new DataTable();
ExeclDt.Load(ExeclDr);
ExeclConn.Close();
ExeclGrid.DataSource = ExeclDt;
ExeclGrid.DataBind();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
求高手指教
解决方案 »
- win7下的iis7问题
- 分页插件webdiyer,如何设置在第一页的时候,只显示数字1
- 如何控制图片的大小
- ASP.NET如何打开“移动设备”这个盘符(问题解决另开100分帖感谢)
- flash 8 和 flash mx 2004哪个网络性能比较好,哪个与.net结合更紧密?高手帮忙指点迷津
- 真正的高手请进关于 sql的 select 问题
- 加班到现在还有最后一个问题,请帮忙.ASP.net frame
- 很菜!在组件类中可以写访问Session的代码吗?
- 一个无限级树型下拉列表框的问题(读库)
- 我学的是vs2005 如何在asp.net(C#)页面中加入FLASH动画啊???
- 弹出popup时敲回车触发页面按钮事件?
- JQuery JS 问题
1. 服务器文件所在目录是否具有访问权限(文件夹和文件权限设置)
2. 服务器文件读取时,是否有释放,如果未释放,那么多用户同时访问时肯定有出有错误。如果是客户端:
1. 文件是否已经使用Excel打开了,或使用其他程序打开未释放。
2. 所在目录是否具有访问权限(文件夹和文件权限设置)
3. 文件读取时,是否有释放
ExeclDt.Load(ExeclDr);
ExeclDr.Dispose();
ExeclConn.Close();
----------------------------------------------------
还是不行,怎么回事呢?