zoukankan      html  css  js  c++  java
  • 向数据库中导入Excel的简单实现

    注明:本内容部分内容来自网络。根据自己的实例写的东西,放在网上,以便以后自己调用!

    try
                {
                    //OpenFileDialog ofd = new OpenFileDialog();
                    //{
                    //    ofd.Filter = "Excel files (*.xls)|*.xls";
                    //}


                    var ofds = new OpenFileDialog()
                    {
                        Filter = "Microsoft Office Excel 工作薄(*.xls)|*.xls|(*.xlsx)|*.xlsx",
                        Multiselect = false
                    };

                    if (ofds.ShowDialog() == DialogResult.Cancel)
                    {
                        return;
                    }

                    var ds = new DataSet("msgIds");
                    var strCon = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Excel 8.0 ",ofds.FileName);
                    using(var oledbConn = new OleDbConnection(strCon) )
                    {
                        oledbConn.Open();
                        var sheetName = oledbConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new []{ null,null,null,"Table" });
                        var sheet = new string[sheetName.Rows.Count];

                        for (int i = 0, j = sheetName.Rows.Count; i < j; i++)
                        {
                            sheet[i] = sheetName.Rows[i]["TABLE_NAME"].ToString();
                        }
                        var adpater = new OleDbDataAdapter(string.Format("select * from [{0}]",sheet[0]),oledbConn);

                        adpater.Fill(ds);
                    }

                    int success = 0;
                    int lose = 0;
                    MODEL.ModelCity model = new MODEL.ModelCity();
                    BLL.BLLCity bll = new BLL.BLLCity();
                    progressBar1.Maximum = ds.Tables[0].Rows.Count;
                    foreach (DataTable dt in ds.Tables)
                    {
                        foreach (DataRow dr in dt.Rows)
                        {
                            model.CityID = Convert.ToInt32(dr[0].ToString());
                            model.CityName = dr[1].ToString();
                            model.RootID = Convert.ToInt32(dr[2].ToString());
                            model.Child = Convert.ToInt32(dr[3].ToString());
                            model.Layer = Convert.ToInt32(dr[4].ToString());
                            model.Sort = Convert.ToInt32(dr[5].ToString());
                            model.Isopen = Convert.ToInt32(dr[6].ToString());

                            int Isinsert=  bll.InsertToCity(model);
                            if (Isinsert == 1)
                            {
                                success++;
                                progressBar1.Value = success;
                            }
                            else
                            {
                                lose++;
                            }

                        }
                    }

                    MessageBox.Show(success.ToString() +"条成功数据");

                  

                }
                catch (Exception ex)
                {
                    MessageBox.Show(""+ex.ToString());
                }

  • 相关阅读:
    BCP及自增标识列
    DAC重置max server memory
    登录名与用户名
    重复执行同一命令
    利用DBCC PAGE查看SQL Server中的表和索引数据
    索引约束
    JS高级程序设计笔记一
    div滚动底部加载li,window滚动底部加载li
    懂,才是最好的爱
    CSS3混合模式mix-blend-mode/background-blend-mode简介 ,PS中叠加效果
  • 原文地址:https://www.cnblogs.com/ttym88m/p/3081613.html
Copyright © 2011-2022 走看看