ASP.NET Excel导入SQLserver 数据库中 编辑:吴立星

上次修改时间:2009年8月2日 
本次修改时间: 2009年9月7日 
修改人: 吴立星 
一 .aspx 页 
<%@ Page Lang ge="C#" AutoEventWireup="tr" CodeFile="Default.aspx.cs" Inherits="_Default" %> 
<!DOCTYPE html P LIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitiona l.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
<title>Excel导入SQL数据库</title> 
</head> 
<body style="text-align: center"> 
<form id="form1" runat="server"> 
<div> 
<table style="width: 576px; border-collapse: separate; text-align: center"> 
<tr> 
<td colspan="3"> 
 Excel导入SQL数据库</td> 
</tr> 
<tr> 
<td colspan="3" style="text-align: left"> 
 <asp:FileUpload ID="FileUpload1" runat="server" Width="305px" /> 
     
<asp:Button ID="Button1" runat="server" Text="导入SQL" /></td> 
 </tr> 
<tr> 
<td colspan="3"> 
<asp:GridView ID="GridView1" runat="server" Height="133px" Width="100%"> 
</asp:GridView> 
</td> 
</tr> 
<tr> 
<td> 
 </td> 
<td> 
</td> 
<td style="width: 189px"> 
</td> 
 </tr> 
</table> 
</div> 
</form> 
</body> 
</html> 
二. .cs 后台文件 
using System.Configuration; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.HtmlControls; 
using System.Data.OleDb; 
using System.Data.SqlClient; 
p lic partial class _Default : System.Web.UI.Page 

string strConn = "Data Source=.;DataBase=hhaspx;Uid=sa;Pwd=19831014"; //链接SQL数据库 
protected void Page_Load(object sender, EventArgs e) 

SqlConnection cn = new SqlConnection(strConn); 
cn.Open(); 
SqlDataAdapter sda = new SqlDataAdapter("select * from hhaspx_gz", cn); 
DataSet ds = new DataSet(); 
sda.Fill(ds, "hhaspx_gz"); 
this.GridView1.DataSource = ds.Tables["hhaspx_gz"]; 
this.GridView1.DataKeyNames = new string[] { "hhaspx_id" }; 
this.GridView1.DataBind(); 

/**/ 
/// <summary> 
/// 查询EXCEL电子表格添加到DATASET 
/// </summary> 
/// <param name="filenameurl">服务器路径</param> 
/// <param name="table">表名</param> 
/// 
/// <returns>更多内容请访问:www.hhaspx.com</returns> 
/// 红河ASP.NET(C#)学习网包含ASP.NET 教程,c#教程,Photoshop,ps教程,网页制作,图片素材,SEO优化 
p lic DataSet ExecleDs(string filenameurl, string table) 

string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + filenameurl + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'"; 
OleDbConnection conn = new OleDbConnection(strConn); 
conn.Open(); 
DataSet ds = new DataSet(); 
OleDbDataAdapter odda = new OleDbDataAdapter("select * from [Sheet1$]", conn); 
odda.Fill(ds, table); 
return ds; 

protected void Button1_Click(object sender, EventArgs e) 

if (FileUpload1.HasFile == false)//HasFile用来检查FileUpload是否有指定文件 

Response.Write("<script>alert('请您选择Excel文件')</script> "); 
return;//当无文件时,返回 

string IsXls = System.IO.Path.GetExtension(FileUpload1.FileName). ToString().ToLower();//System.IO.Path.GetExtension获得文件的扩展名 
if (IsXls != ".xls") 

Response.Write("<script>alert('只可以选择Excel文件')</script>"); 
return;//当选择的不是Excel文件时,返回 

SqlConnection cn = new SqlConnection(strConn); 
cn.Open(); 
string filename = DateTime.Now.ToString("yyyymmddhhMMss") + FileUpload1.FileName; //获取Execle文件名 DateTime日期函数 
string savePath = Server.MapPath(("~\\upfiles\\") + filename);//Server.MapPath 获得虚拟服务器相对路径 
FileUpload1.SaveAs(savePath); //SaveAs 将上传的文件内容保存在服务器上 
DataSet ds = ExecleDs(savePath, filename); //调用自定义方法 
DataRow[] dr = ds.Tables[0].Select(); //定义一个DataRow数组 
int rowsnum = ds.Tables[0].Rows.Count; 
if (rowsnum == 0) 

Response.Write("<script>alert('Excel表为空表,无数据!')</script>"); //当Excel表为空时,对用户进行提示 

else 

for (int i = 0; i < dr.Length; i++) 

string hhaspx_rq = dr[i]["日期"].ToString();//日期 excel列名【名称不能变,否则就会出错】
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章