protected void btnExcelToDb_Click(object sender, EventArgs e) { string fileName = null; try { Boolean fileOK = false; String path = Server.MapPath("./UpFile/"); if (fUpload.HasFile) { String fileExtension = System.IO.Path.GetExtension(fUpload.FileName).ToLower(); String[] allowedExtensions = { ".xls" }; //C#读取Excel中数据 for (int i = 0; i < allowedExtensions.Length; i++) { if (fileExtension == allowedExtensions[i]) { fileOK = true; } } } if (fileOK) { fileName = "r_" + DateTime.Now.ToString("yyyy_MM_dd_hh_mm_ss") + "_" + DateTime.Now.Millisecond + System.IO.Path.GetExtension(fUpload.FileName).ToLower(); if (File.Exists(path + fileName)) { Random rnd = new Random(10000); fileName = fileName + rnd.Next(); } fUpload.PostedFile.SaveAs(path + fileName); } else { } } catch (Exception exp) { } ExcelToDS(Server.MapPath(".") + "//UpFile//" + fileName); } public void ExcelToDS(string path) { string strSheetName = "sheet1"; string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'"; string strSqlConn = ConfigurationManager.ConnectionStrings["conn"].ConnectionString; //Sql语句 string strExcel = "select * from [" + strSheetName + "$] "; DataSet ds = new DataSet(); //连接数据源 OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); //适配到数据源 OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, conn); adapter.Fill(ds, "data"); conn.Close(); StringBuilder sb = new StringBuilder(); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { sb.Append("INSERT INTO TempData (Name,Area) VALUES('" + ds.Tables[0].Rows[i]["name"] + "','" + ds.Tables[0].Rows[i]["area"] + "');"); } SqlHelper.ExecuteNonQuery(strSqlConn, CommandType.Text, sb.ToString()); DataSet dsdb = SqlHelper.ExecuteDataset(strSqlConn, CommandType.Text, " SELECT Id,Name,Area FROM TempData "); gvExcelData.DataSource = dsdb; gvExcelData.DataBind(); }