zoukankan      html  css  js  c++  java
  • Excel表中的数据导入到数据库中

    原来没有导入数据,SQL数据库中数据

    EXCEL表,准备新插入的数据

    成功导入数据库中数据s

    代码
    string strConn = "Data Source=.;DataBase=hhaspx;Uid=sa;Pwd=lilo202"; //链接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>
    ///


    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=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列名【名称不能变,否则就会出错】
    string hhaspx_bh = dr[i]["编号"].ToString();//编号 列名 以下类似
    string hhaspx_xm = dr[i]["姓名"].ToString();
    string hhaspx_dx = dr[i]["底薪"].ToString();
    string hhaspx_kh = dr[i]["考核"].ToString();
    string hhaspx_jl = dr[i]["奖励"].ToString();
    string hhaspx_jt = dr[i]["津贴"].ToString();
    string hhaspx_jb = dr[i]["加班"].ToString();
    string hhaspx_zb = dr[i]["值班"].ToString();
    string hhaspx_jx = dr[i]["绩效"].ToString();
    string hhaspx_hj = dr[i]["合计"].ToString();
    string sqlcheck = "select count(*) from hhaspx_gz where hhaspx_rq='" + hhaspx_rq + "'And hhaspx_xm='" + hhaspx_xm + "'"; //检查用户是否存在
    SqlCommand sqlcmd = new SqlCommand(sqlcheck,cn);
    int count = Convert.ToInt32(sqlcmd.ExecuteScalar());
    if (count < 1)
    {
    string insertstr = "insert into hhaspx_gz (hhaspx_rq,hhaspx_bh,hhaspx_xm,hhaspx_dx,hhaspx_kh,hhaspx_jl,hhaspx_jt,hhaspx_jb,hhaspx_zb,hhaspx_jx,hhaspx_hj) values('" + hhaspx_rq + "','" + hhaspx_bh + "','" + hhaspx_xm + "','" + hhaspx_dx + "','" + hhaspx_kh + "','" + hhaspx_jl + "','" + hhaspx_jt + "','" + hhaspx_jb + "','" + hhaspx_zb + "','" + hhaspx_jx + "','" + hhaspx_hj + "')";

    SqlCommand cmd
    = new SqlCommand(insertstr, cn);
    try
    {
    cmd.ExecuteNonQuery();
    }
    catch (MembershipCreateUserException ex) //捕捉异常
    {
    Response.Write(
    "<script>alert('导入内容:" + ex.Message + "')</script>");
    }
    }
    else
    {
    Response.Write(
    "<script>alert('内容重复!禁止导入');location='default.aspx'</script></script> ");
    continue;
    }
    }
    Response.Write(
    "<script>alert('Excle表导入成功!');location='default.aspx'</script>");
    }

    cn.Close();

    下面附加实例

    https://files.cnblogs.com/lilo202/Excel%e8%a1%a8%e4%b8%ad%e7%9a%84%e6%95%b0%e6%8d%ae%e5%af%bc%e5%85%a5%e5%88%b0SQL2000%e7%9a%84%e6%ba%90%e7%a0%81.rar

  • 相关阅读:
    DevOps实施方法论,为什么大企业一定要使用DevOps?
    SpringCloudAlibaba基础入门,基于Nacos构建分布式与配置,Sentinel服务治理
    艾编程Java进阶架构师必看:15次架构演进详解
    实战笔记:来一起探究下Kafka是如何实现万亿级海量数据的高并发写入的?
    520疯狂之后我彻底蒙了,老板让我做技术选型,数据处理选kafka还是RocketMQ?
    如何实现Redis数据持久化以及内存管理之缓存过期机制
    SpringBoot源码深度解析
    分布式缓存Redis高级应用实战:为什么要用缓存机制
    全面上云实战教程:基于阿里云安装配置部署docker详解
    Solr学习笔记(2)—— solr-7.0.0 安装与目录说明
  • 原文地址:https://www.cnblogs.com/lilo202/p/1872446.html
Copyright © 2011-2022 走看看