net实现将Excel中的数据导入数据库
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="testAccess导入到sql.WebForm1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
</div>
</form>
</body>
</html>
后台代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls;
using USTC;
using System.Data.OleDb;
using System.Data;
using System.Data.SqlClient;
namespace testAccess导入到sql
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
//获取文件路径
string filePath = this.FileUpload1.PostedFile.FileName;
if (filePath != "")
{
if (filePath.Contains("xls"))//判断文件是否存在
{
InputExcel(filePath);
}
else
{
Response.Write("请检查您选择的文件是否为Excel文件!谢谢!");
}
}
else
{
Response.Write("请先选择导入文件后,再执行导入!谢谢!");
}
}
private void InputExcel(string pPath)
{
string connstr = "Data Source=.;database=Usersdb;uid=sa;pwd=123456";
SqlConnection conn1 = new SqlConnection(connstr);//拼接数据库连接字符串
conn1.Open();
string conn = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =" + pPath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
OleDbConnection oleCon = new OleDbConnection(conn);
oleCon.Open();
string Sql = "select * from [Sheet1$]";
OleDbDataAdapter mycommand = new OleDbDataAdapter(Sql, oleCon);
DataSet ds = new DataSet();
mycommand.Fill(ds, "[Sheet1$]");
oleCon.Close();
int count = ds.Tables["[Sheet1$]"].Rows.Count;
for (int i = 0; i < count; i++)
{
string userid, EmailAddress, FirstName, LastName, Address1, Address2, City;
userid = ds.Tables["[Sheet1$]"].Rows[i]["UserID"].ToString().Trim();
EmailAddress = ds.Tables["[Sheet1$]"].Rows[i]["EmailAddress"].ToString().Trim();
FirstName = ds.Tables["[Sheet1$]"].Rows[i]["FirstName"].ToString().Trim();
LastName = ds.Tables["[Sheet1$]"].Rows[i]["LastName"].ToString().Trim();
Address1 = ds.Tables["[Sheet1$]"].Rows[i]["Address1"].ToString().Trim();
Address2 = ds.Tables["[Sheet1$]"].Rows[i]["Address2"].ToString().Trim();
City = ds.Tables["[Sheet1$]"].Rows[i]["City"].ToString().Trim();
string excelsql = "insert into usersdb(UserID, EmailAddress, FirstName,LastName,Address1,Address2,City) values ('" + userid + "','" + EmailAddress + "','" + FirstName + "','" + LastName + "','" + Address1 + "','" + Address2 + "','" + City + "')";
try
{
//导入到SQL Server中
//DM dm = new DM();
//dm.execsql(excelsql);
SqlCommand comm = new SqlCommand(excelsql, conn1);
comm.ExecuteNonQuery();
Response.Write("<script language='javascript'>Alert('数据导入成功!');window.location='Default.aspx'</script>");
}
catch (Exception)
{
Response.Write("<script language='javascript'>Alert('数据导入失败!');window.location='Default.aspx'</script>");
}
}
}
}
}
数据库结构:
数据库结构:
| UserID | EmailAddress | FirstName | LastName | Address1 | Address2 | City |
| 123 | 852555959@qq.com | 侯 | 永杰 | 北京石景山 | 河南三门峡 | 北京 |
浙公网安备 33010602011771号