asp.net 实现excel导入到数据库
2010-04-16 17:45
495 查看
//Excel批量导入到数据库
protected void btnUpload_Click(object sender, EventArgs e)
{
string IsXls = System.IO.Path.GetExtension(UploadExcel.FileName.ToString().ToLower());
if (IsXls != ".xls")
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script type='text/javascript' language='javascript'>alert('只可以选择Excel文件');location.href='EmployeeAddPage.aspx';</script>");
return;//当选择的不是Excel文件时,返回
}
string filePath = UploadExcel.PostedFile.FileName;
string fileName = UploadExcel.FileName;
DataSet ds = ExecleDs (filePath,fileName);
CommonLayer.employeeModel model = new CommonLayer.employeeModel();
DataAcessLayer.employee_infomation addlist = new DataAcessLayer.employee_infomation();
if (ds.Tables[0].Rows.Count > 0)
{
int row = ds.Tables[0].Rows.Count-1;
for (int i = 0; i < ds.Tables[0].Select().Length; i++)
{
string employee_no = ds.Tables[0].Rows[i]["employee_no"].ToString();
string employee_login_name = ds.Tables[0].Rows[i]["employee_login_name"].ToString();
string employee_display_name = ds.Tables[0].Rows[i]["employee_display_name"].ToString();
string employee_account = ds.Tables[0].Rows[i]["employee_account"].ToString();
string employee_mail = ds.Tables[0].Rows[i]["employee_mail"].ToString();
string active_flag = ds.Tables[0].Rows[i]["active_flag"].ToString();
string password = ds.Tables[0].Rows[i]["password"].ToString();
string employee_role = ds.Tables[0].Rows[i]["employee_role"].ToString();
#region 导入数据
// 判断是否存在工号,登陆名,NT,email重复
if (addlist.ExistsInfo(employee_no, employee_login_name, employee_account, employee_mail))
{
AlertAndRedirect("信息填写重复,请重新输入!!!", "EmployeeAddPage.aspx");
}
// 判断表 是否填写完整
else if (employee_account==""||
employee_no == "" ||
employee_mail == "" ||
employee_login_name == "" ||
employee_display_name == "")
{
AlertAndRedirect("请将信息填写完整!!!","EmployeeAddPage.aspx");
}
else
{
// 将Excel中的数据写到数据库中
}
AlertAndRedirect("导入成功!!", "FrmEmployeeList.aspx");
}
else
{
AlertAndRedirect("Excel表为空!", "EmployeeAddPage.aspx");
}
}
public void InsertExcelStaue(string filenameurl, string employeeNo,string statue)
{
string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + filenameurl + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=2'";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
OleDbCommand cmd = new OleDbCommand(" update [Sheet1$] set statue='" + statue + "' where employee_no='"+employeeNo+"'", conn);
cmd.ExecuteNonQuery();
conn.Close();
}
public 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=2'";
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;
}
public void AlertAndRedirect(string str, string redirectUrl)
{
HttpContext.Current.Response.Write("<script language='javascript'>alert('" + str + "');location.href='"+redirectUrl+"';</script>");
}
public void Alert(string str)
{
HttpContext.Current.Response.Write("<script language='javascript'>alert('" + str + "');</script>");
}
protected void btnUpload_Click(object sender, EventArgs e)
{
string IsXls = System.IO.Path.GetExtension(UploadExcel.FileName.ToString().ToLower());
if (IsXls != ".xls")
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script type='text/javascript' language='javascript'>alert('只可以选择Excel文件');location.href='EmployeeAddPage.aspx';</script>");
return;//当选择的不是Excel文件时,返回
}
string filePath = UploadExcel.PostedFile.FileName;
string fileName = UploadExcel.FileName;
DataSet ds = ExecleDs (filePath,fileName);
CommonLayer.employeeModel model = new CommonLayer.employeeModel();
DataAcessLayer.employee_infomation addlist = new DataAcessLayer.employee_infomation();
if (ds.Tables[0].Rows.Count > 0)
{
int row = ds.Tables[0].Rows.Count-1;
for (int i = 0; i < ds.Tables[0].Select().Length; i++)
{
string employee_no = ds.Tables[0].Rows[i]["employee_no"].ToString();
string employee_login_name = ds.Tables[0].Rows[i]["employee_login_name"].ToString();
string employee_display_name = ds.Tables[0].Rows[i]["employee_display_name"].ToString();
string employee_account = ds.Tables[0].Rows[i]["employee_account"].ToString();
string employee_mail = ds.Tables[0].Rows[i]["employee_mail"].ToString();
string active_flag = ds.Tables[0].Rows[i]["active_flag"].ToString();
string password = ds.Tables[0].Rows[i]["password"].ToString();
string employee_role = ds.Tables[0].Rows[i]["employee_role"].ToString();
#region 导入数据
// 判断是否存在工号,登陆名,NT,email重复
if (addlist.ExistsInfo(employee_no, employee_login_name, employee_account, employee_mail))
{
AlertAndRedirect("信息填写重复,请重新输入!!!", "EmployeeAddPage.aspx");
}
// 判断表 是否填写完整
else if (employee_account==""||
employee_no == "" ||
employee_mail == "" ||
employee_login_name == "" ||
employee_display_name == "")
{
AlertAndRedirect("请将信息填写完整!!!","EmployeeAddPage.aspx");
}
else
{
// 将Excel中的数据写到数据库中
}
AlertAndRedirect("导入成功!!", "FrmEmployeeList.aspx");
}
else
{
AlertAndRedirect("Excel表为空!", "EmployeeAddPage.aspx");
}
}
public void InsertExcelStaue(string filenameurl, string employeeNo,string statue)
{
string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + filenameurl + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=2'";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
OleDbCommand cmd = new OleDbCommand(" update [Sheet1$] set statue='" + statue + "' where employee_no='"+employeeNo+"'", conn);
cmd.ExecuteNonQuery();
conn.Close();
}
public 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=2'";
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;
}
public void AlertAndRedirect(string str, string redirectUrl)
{
HttpContext.Current.Response.Write("<script language='javascript'>alert('" + str + "');location.href='"+redirectUrl+"';</script>");
}
public void Alert(string str)
{
HttpContext.Current.Response.Write("<script language='javascript'>alert('" + str + "');</script>");
}
相关文章推荐
- asp.net实现 EXCEL数据导入到数据库功能
- 在ASP.NET中实现Excel数据导入数据库
- ASP.NET下将Excel表格中的数据规则的导入数据库思路分析及实现
- asp.net 2.0实现EXCEL直接导入数据库
- asp.net实现 EXCEL数据导入到数据库功能
- ASP.NET关于对excel数据导入到数据库
- asp.net中EXCEL数据导入到数据库的方法
- C#数据库数据导入导出系列之一 ASP.NET Excel导入Sql Server数据库
- ASP.NET下将不规则的Excel导入数据库
- ASP.NET中数据库数据导入Excel并打印
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- asp.net 中excel 导入数据库
- ASP.NET Excel 导入数据库
- ASP.NET中数据库数据导入Excel并打印
- 在asp.net中实现dataset与excel的相互导入导出
- asp.net 表格EXCEL导入数据库
- [Asp.net]常见数据导入Excel,Excel数据导入数据库解决方案
- 将Excel内容导入数据库(ASP.NET/C#)
- ASP.NET中数据库数据导入Excel并打印