//把EXCEL文件上传到服务器并返回文件路径
private String typename(FileUpload fileloads) { string fullfilename = fileloads.PostedFile.FileName; string filename = fullfilename.Substring(fullfilename.LastIndexOf("\\") + 1); string type = fullfilename.Substring(fullfilename.LastIndexOf(".") + 1); string murl = ""; if (type == "xls" || type == "xlsx") { fileloads.PostedFile.SaveAs(Server.MapPath(filename)); //fileloads.PostedFile.SaveAs(Server.MapPath(Tools.GetAppSettings("ExcelPath")) + "\\" + filename); murl = Server.MapPath(filename); } else { Tools.ShowMsg("导入文件格式不对!"); //Response.Write("<script language='javascript'>alert('导入文件格式不对!');</script>"); } return murl; }public DataTable ImportToDataSet(string path)
{ string strConn = "Provider=Microsoft.Ace.OleDb.12.0;" + "Data Source=" + path + ";" + "Extended Properties='Excel 12.0;HDR=Yes;IMEX=1';";OleDbConnection conn = new OleDbConnection(strConn);
try { DataTable dt = new DataTable(); if (conn.State != ConnectionState.Open) conn.Open(); string strExcel = "select * from [Sheet1$]"; OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, conn); adapter.Fill(dt); return dt; } catch (Exception ex) { throw new Exception(ex.Message); } finally { if (conn.State != ConnectionState.Closed) conn.Close(); } }protected void btnImport_Click(object sender, EventArgs e)
{ try { DataTable dt = ImportToDataSet(typename(selectfile)); int j = 0; bool sec = true; for (int i = 0; i < dt.Rows.Count; i++) { ShippingCharge sc = new ShippingCharge(); string RegionID = dt.Rows[i][1].ToString(); if (!RegionID.IsNullOrEmpty() && Service.GetShippingRegion(dt.Rows[i][1].ToString()) != null) { sc.RegionID = Service.GetShippingRegion(dt.Rows[i][1].ToString()).RegionID; }sc.Status = Convert.ToByte(dt.Rows[i][2].ToString()=="否"?0:1);
sec = Service.AddShippingCharge(sc);
if (sec == false) { j++; } } if(j > 0) { Tools.ShowMsg("导入文件失败,请确认文件格式再重试一次!"); } else { //关闭,删除 文件 string filepath = Server.MapPath(selectfile.PostedFile.FileName); if (File.Exists(filepath)) File.Delete(filepath); Tools.ShowMsg("导入文件成功!", "ShippingCharges_List.aspx"); } } catch (Exception ex) { Tools.ShowMsg("导入文件失败,请确认文件格式再重试一次!");}
}