// 拼写连接字符串,打开连接
//Provider=Microsoft.Jet.OleDb.4.0; 2003的连接
string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + "data source=" + excelName + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
OleDbConnection objConn = new OleDbConnection(strConn);
objConn.Open();
// 取得Excel工作簿中所有工作表
DataTable schemaTable = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
OleDbDataAdapter sqlada = new OleDbDataAdapter();
DataSet ds = new DataSet();
// 遍历工作表取得数据并存入Dataset
foreach (DataRow dr in schemaTable.Rows)
{
string strSql = "Select * From [" + dr[2].ToString().Trim() + "]";//SHEET1$
OleDbCommand objCmd = new OleDbCommand(strSql, objConn);
sqlada.SelectCommand = objCmd;
sqlada.Fill(ds, dr[2].ToString().Trim());
} objConn.Close();
return ds;提示错误是:未指定的错误
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 未指定的错误数据库打开那有问题,网上找的好像是说我datareader什么的没关闭,我都试了关闭,还是有问题!大家帮忙找找原因,愁死了!
//Provider=Microsoft.Jet.OleDb.4.0; 2003的连接
string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + "data source=" + excelName + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
OleDbConnection objConn = new OleDbConnection(strConn);
objConn.Open();
// 取得Excel工作簿中所有工作表
DataTable schemaTable = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
OleDbDataAdapter sqlada = new OleDbDataAdapter();
DataSet ds = new DataSet();
// 遍历工作表取得数据并存入Dataset
foreach (DataRow dr in schemaTable.Rows)
{
string strSql = "Select * From [" + dr[2].ToString().Trim() + "]";//SHEET1$
OleDbCommand objCmd = new OleDbCommand(strSql, objConn);
sqlada.SelectCommand = objCmd;
sqlada.Fill(ds, dr[2].ToString().Trim());
} objConn.Close();
return ds;提示错误是:未指定的错误
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 未指定的错误数据库打开那有问题,网上找的好像是说我datareader什么的没关闭,我都试了关闭,还是有问题!大家帮忙找找原因,愁死了!
在 Windows 资源管理器中,中找到以下文件夹:
文档 settings\ ServerName \ASPNET\Local settings\Temp
在 ServerName 是服务器的您的名称。
用鼠标右键单击 Temp 文件夹,然后单击 属性。
单击 属性 对话框中的 安全 选项卡。
在 安全 选项卡上单击 添加,然后键入 ServerName \ UserAccount 在 选择用户或组 文本框中,位置 ServerName 是您的服务器的名称,以及 UserAccount 的模拟的帐户的名称的位置。单击 确定。
单击以选中 读取 和 写入 复选框,然后单击 确定。
http://support.microsoft.com/kb/825738/zh-cn