我現在要上傳Excel,并將其裏面的內容裝化成Datatale:目前我的程序如下:
DataTable dt = new DataTable();
string filename = FileUpload1.FileName.Substring(0, FileUpload1.FileName.LastIndexOf("."));
string name = filename+".xls";
string savepath = Server.MapPath("~") + "\\uploadfile" + "\\" + name + "";
FileUpload1.PostedFile.SaveAs(savepath);//存儲到相對路徑
string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source="+savepath+";Extended Properties=Excel 8.0";//C#连接Excel连接字符串 String strSql = "SELECT * FROM [{0}]";
OleDbConnection objConn = new OleDbConnection(strConn);
objConn.Open();
OleDbCommand objCmd = new OleDbCommand(strSql, objConn);
objCmd.Connection = objConn;
OleDbDataAdapter adapter = new OleDbDataAdapter(objCmd);
DataSet ds = new DataSet();
try
{
adapter.Fill(ds, "[{0}]");
dt = ds.Tables[0];
GridView1.DataSource = dt;
GridView1.DataBind();
}
catch (Exception ex)
{
ex.ToString();
}
dt = ds.Tables[0];其中savepath=D:\MMSWeb\uploadfile\FileName.xls 我的電腦中存在此Excel我在運行時出現:外部資料表不是預期的格式。各位高手請幫幫忙,謝謝!
DataTable dt = new DataTable();
string filename = FileUpload1.FileName.Substring(0, FileUpload1.FileName.LastIndexOf("."));
string name = filename+".xls";
string savepath = Server.MapPath("~") + "\\uploadfile" + "\\" + name + "";
FileUpload1.PostedFile.SaveAs(savepath);//存儲到相對路徑
string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source="+savepath+";Extended Properties=Excel 8.0";//C#连接Excel连接字符串 String strSql = "SELECT * FROM [{0}]";
OleDbConnection objConn = new OleDbConnection(strConn);
objConn.Open();
OleDbCommand objCmd = new OleDbCommand(strSql, objConn);
objCmd.Connection = objConn;
OleDbDataAdapter adapter = new OleDbDataAdapter(objCmd);
DataSet ds = new DataSet();
try
{
adapter.Fill(ds, "[{0}]");
dt = ds.Tables[0];
GridView1.DataSource = dt;
GridView1.DataBind();
}
catch (Exception ex)
{
ex.ToString();
}
dt = ds.Tables[0];其中savepath=D:\MMSWeb\uploadfile\FileName.xls 我的電腦中存在此Excel我在運行時出現:外部資料表不是預期的格式。各位高手請幫幫忙,謝謝!
using(OleDbConnection OleConn = new OleDbConnection(strConn))
{
OleConn.Open();
String sql = "SELECT * FROM [Sheet1$]";
OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
DataSet ds= new DataSet();
OleDaExcel.Fill(ds);
OleConn.Close();
}
检查excel,连接字符串,还有sheet名称