http://www.cnblogs.com/hfzsjz/archive/2010/12/31/1922901.html
http://hi.baidu.com/ctguyg/item/ebc857e90e436ae1fb42ba01
1 <form action="" method="post" runat ="server"> 2 <div> 3 <span>请选择文件:</span><asp:FileUpload ID="FileUpload1" runat="server" /> 4 <asp:Button ID="btnExport" runat="server" Text="导入" onclick="btnExport_Click" /> 5 </div> 6 <div> 7 <asp:GridView ID="GridView1" runat="server"> 8 </asp:GridView> 9 </div> 10 </form>
1 protected void btnExport_Click(object sender, EventArgs e) 2 { 3 try 4 { 5 if (this.FileUpload1.HasFile) 6 { 7 DataTable inputdt = new DataTable(); 8 int len = this.FileUpload1.FileName.ToString().Trim().Length; 9 string path = "~/temp/upfile/" + this.FileUpload1.FileName.ToString().Trim(); 10 path = Server.MapPath(path); 11 this.FileUpload1.SaveAs(path); //上传文件 12 inputdt = JDBMS.DBUtility.MDBHelper.InputExcel(path, this.FileUpload1.FileName.ToString().Trim().Substring(0, len - 4)); 13 if (Session["inputdt"] != null) 14 Session.Remove("inputdt"); 15 Session.Add("inputdt", inputdt); 16 if (inputdt.Rows.Count > 0) 17 { 18 this.GridView1.DataSource = inputdt; 19 this.GridView1.DataBind(); 20 } 21 } 22 else 23 { 24 throw new Exception("请选择导入表的路径"); 25 } 26 } 27 catch (Exception ex) 28 { 29 Response.Write("<script language=‘javascript‘>alert(‘" + ex.Message + "‘);</script>"); 30 } 31 }
1 /// <summary> 2 /// 导入数据到数据集中 3 /// </summary> 4 /// <param name="Path"></param> 5 /// <param name="TableName"></param> 6 /// <param name="tablename2">如果这个有就以他为表名,没有的话就以TableName</param> 7 /// <returns></returns> 8 public static DataTable InputExcel(string Path, string TableName) 9 { 10 try 11 { 12 string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Path + ";" + "Extended Properties=Excel 8.0;"; 13 OleDbConnection conn = new OleDbConnection(strConn); 14 conn.Open(); 15 string strExcel = ""; 16 OleDbDataAdapter myCommand = null; 17 strExcel = "select * from [" + TableName + "$]"; 18 myCommand = new OleDbDataAdapter(strExcel, strConn); 19 DataTable dt = new DataTable(); 20 myCommand.Fill(dt); 21 conn.Close(); 22 return dt; 23 } 24 catch (Exception ex) 25 { 26 throw new Exception(ex.Message); 27 } 28 }