没有提示代码错误,可为什么没导入数据呢,求解!
protected void Button1_Click(object sender, EventArgs e)
{
string filePath = "";
string getErrMsg = "";
DataSet excelDs = new DataSet();
if (FileUpload1.PostedFile.FileName == "")
{
Response.Write(" <script language=javascript>alert('请选择要上传的文件!'); </script>");
return;
}
else
{
string name = FileUpload1.PostedFile.FileName;
int i = name.LastIndexOf(".");
string namelast = name.Substring(i);
if (namelast == ".xls" || namelast == ".xlsx")
{
//从Excel读取数据
filePath = FileUpload1.PostedFile.FileName;
string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'";
/*excel 2000 ~ 2003的 OleDb 连接串的格式如下: Provider=Microsoft.Jet.OleDb.4.0;Data Source='excel文件路径';Extended Properties='Excel 8.0;HDR=YES' excel 2007 的 OleDb 的连接串的格式如下: Provider=Microsoft.Ace.OleDb.12.0;Data Source='excel文件路径';Extended Properties='Excel 12.0;HDR=YES'
*/
OleDbConnection excelConn = new OleDbConnection(connString);
excelConn.Open();
OleDbDataAdapter ExcelDA = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", excelConn);
try
{
ExcelDA.Fill(excelDs, "[Sheet1$]");
}
catch (Exception err)
{
Response.Write(err.Message);
}
finally
{
excelConn.Close();
excelConn = null;
}
if (excelDs.Tables[0].Rows.Count != 0)
{ for (int j = 0; j < excelDs.Tables[0].Rows.Count; j++)
{
string ResponseSQL = "";
int id = int.Parse(excelDs.Tables[0].Rows[j][0].ToString());
string teaName = excelDs.Tables[0].Rows[j][1].ToString();
string dept = excelDs.Tables[0].Rows[j][2].ToString();
//string password = excelDs.Tables[0].Rows[j]["PASSWORD"].ToString();
//string mobilephone = excelDs.Tables[0].Rows[j]["MOBILEPHONE"].ToString();
ResponseSQL = string.Format("insert into jieguo(id,teaName,dept) Values({0},{1},{2})", id,teaName, dept);
//Execute(ResponseSQL);
Response.Write(" <script language=javascript>alert('成功!'); </script>");
}
}
else
{
Response.Write(" <script language=javascript>alert('不是excel文件!'); </script>");
return;
}
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string filePath = "";
string getErrMsg = "";
DataSet excelDs = new DataSet();
if (FileUpload1.PostedFile.FileName == "")
{
Response.Write(" <script language=javascript>alert('请选择要上传的文件!'); </script>");
return;
}
else
{
string name = FileUpload1.PostedFile.FileName;
int i = name.LastIndexOf(".");
string namelast = name.Substring(i);
if (namelast == ".xls" || namelast == ".xlsx")
{
//从Excel读取数据
filePath = FileUpload1.PostedFile.FileName;
string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'";
/*excel 2000 ~ 2003的 OleDb 连接串的格式如下: Provider=Microsoft.Jet.OleDb.4.0;Data Source='excel文件路径';Extended Properties='Excel 8.0;HDR=YES' excel 2007 的 OleDb 的连接串的格式如下: Provider=Microsoft.Ace.OleDb.12.0;Data Source='excel文件路径';Extended Properties='Excel 12.0;HDR=YES'
*/
OleDbConnection excelConn = new OleDbConnection(connString);
excelConn.Open();
OleDbDataAdapter ExcelDA = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", excelConn);
try
{
ExcelDA.Fill(excelDs, "[Sheet1$]");
}
catch (Exception err)
{
Response.Write(err.Message);
}
finally
{
excelConn.Close();
excelConn = null;
}
if (excelDs.Tables[0].Rows.Count != 0)
{ for (int j = 0; j < excelDs.Tables[0].Rows.Count; j++)
{
string ResponseSQL = "";
int id = int.Parse(excelDs.Tables[0].Rows[j][0].ToString());
string teaName = excelDs.Tables[0].Rows[j][1].ToString();
string dept = excelDs.Tables[0].Rows[j][2].ToString();
//string password = excelDs.Tables[0].Rows[j]["PASSWORD"].ToString();
//string mobilephone = excelDs.Tables[0].Rows[j]["MOBILEPHONE"].ToString();
ResponseSQL = string.Format("insert into jieguo(id,teaName,dept) Values({0},{1},{2})", id,teaName, dept);
//Execute(ResponseSQL);
Response.Write(" <script language=javascript>alert('成功!'); </script>");
}
}
else
{
Response.Write(" <script language=javascript>alert('不是excel文件!'); </script>");
return;
}
}
}
第二,没有看到你把数据写到数据库里的语句,你都没写,当然写不进去了……