• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    asp.net实现将Excel中多个sheet数据导入到SQLSERVER中的方法

    本文实例讲述了asp.net实现将Excel中多个sheet数据导入到SQLSERVER中的方法。分享给大家供大家参考,具体如下:

    public DataSet GetDataSet(string filePath)
    {
      string Connstr = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + filePath + "';Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'");
      OleDbConnection Conn = new OleDbConnection(Connstr);
      //创建ArrayList对象 存放所有sheetname 
      ArrayList sheetNamelist = new ArrayList();
      //获取配置Excel中sheet总数(这里是根据项目需求配置的) 如果需要导入Excel表格所有sheet数据则将此代码删除
      int sheetCount = Convert.ToInt32(ConfigurationManager.AppSettings["sheetCount"].ToString());
      DataSet dsExcel = new DataSet();
      try
      {
       if (Conn.State == ConnectionState.Closed)
       {
        Conn.Open();
       }
       DataTable dtExcelSchema = Conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });
       string sheetName = string.Empty;
       if (dtExcelSchema.Rows.Count > sheetCount)
       {
        Page.RegisterStartupScript("", "mce:script type="text/javascript">!--
    alert('很抱歉!你上传Excel文件sheet总数过多不能大于10个sheet..!! ')
    // -->/mce:script>");
        return;
       }
       else
       {
        for (int j = 0; j  dtExcelSchema.Rows.Count; j++)
        {
         sheetName = String.Format("Sheet{0}$", j + 1);
         sheetNamelist.Add(sheetName);
        }
       }
      }
      catch (Exception ex)
      {
       throw new Exception(ex.Message.ToString(), ex);
      }
      finally
      {
       Conn.Close();
      }
      try
      {
       string strSQL = string.Empty;
       for (int i = 0; i  sheetNamelist.Count; i++)
       {
        strSQL = "select * from [" + sheetNamelist[i].ToString() + "]";
        OleDbDataAdapter da = new OleDbDataAdapter(strSQL, Conn);
        DataTable dtExcel = new DataTable(sheetNamelist[i].ToString());
        da.Fill(dtExcel);
        dsExcel.Tables.Add(dtExcel);
       }
       return dsExcel;
      }
      catch (Exception ex)
      {
       throw new Exception(ex.Message.ToString(), ex);
      }
     }
     //从Excel 表中取出数据 将取出来的数据插入到数据库中
     public void InsertData(DataSet ds) {
       string strSQL=string.Empty;
       if (ds.Tables[0].Rows.Count > 0)
       {
        for (int j = 0; j  ds.Tables.Count; j++) 
        { 
        for(int i=0;ids.Tables[j].Rows.Count;i++)
        {
         DataRow dr=ds.Tables[j].Rows[i];
         //组名
         string groupname = dr["组名"].ToString().Trim();
         //联系人
         string contactName = dr["联系人"].ToString().Trim();
         //手机号码
         string mobile = dr["手机号码"].ToString().Trim();
         //公司名称
         string companyName = dr["公司名称"].ToString().Trim();
         //公办号码
         string officeNum = dr["办公号码"].ToString().Trim();
         //家庭号码
         string homeNum = dr["家庭号码"].ToString().Trim();
         //邮箱
         string Email = dr["邮 箱"].ToString().Trim();
         //联系地址
         string address = dr["联系地址"].ToString().Trim();
         //创建时间
         string createtime = dr["创建时间"].ToString().Trim();
         //性别
         string Sex = dr["性别"].ToString().Trim();
         //手机套餐类型
         string mobileType = dr["手机套餐类型"].ToString().Trim();
         //是否开通通信助理
         string isOpen = dr["是否开通通信助理"].ToString().Trim();
         //SQL 语句
         strSQL = "insert into msm_Excel(groupName,Mobile,Name,companyName,officeNum,homeNum,Emial,address,Createtime,Sex,mobileType,isOpen)values('" + groupname + "','" + mobile + "','" + contactName + "','" + companyName + "','" + officeNum + "','" + homeNum + "','" + Email + "','" + address + "','" + createtime + "','" + Sex + "','" + mobileType + "','" + isOpen + "')";
         try
         {
          int n = SQLHelper.SqlDataExecute(strSQL);
          if (n > 0)
          {
           Page.RegisterStartupScript("", "mce:script type="text/javascript">!--
    alert('数据插入成功!')
    // -->/mce:script>");
           Label1.Text = "一共成功插入" + ds.Tables[j].Rows.Count.ToString() + "条数据";
          }
          else
          {
           Page.RegisterStartupScript("", "mce:script type="text/javascript">!--
    alert('服务器繁忙!请稍候再试..!')
    // -->/mce:script>");
          }
         }
         catch (Exception ex)
         {
          throw ex;
         }
        }
       }    
      }
      else {
       Page.RegisterStartupScript("", "mce:script type="text/javascript">!--
    alert('此Excel文件中无数据!!!')
    // -->/mce:script>");
      }
     }
    //调用
    //获取上传文件名
      string fileName = FileUpload1.FileName;
       //判断是否存在上传文件
      if (FileUpload1.PostedFile.FileName.Length == 0) {
       Page.RegisterStartupScript("", "mce:script type="text/javascript">!--
    alert('请选择你要上传的Excel文件!!')
    // -->/mce:script>");
      }
       //判断上传的文件类型是否正确
      else if (!Path.GetExtension(FileUpload1.PostedFile.FileName).ToLower().Equals(".xls")  !Path.GetExtension(FileUpload1.PostedFile.FileName).ToLower().Equals(".xlsx"))
      {
       Page.RegisterStartupScript("", "script>alert('很抱歉!你上传的文件类型不正确!只能上传Excel类型的文件!')/script.");
      }
      else
      {
       //获取上传的文件路径
       filePath = Server.MapPath("TxtFiles//") + DateTime.Now.ToString("yyyyMMddhhmmss") + fileName;
       this.FileUpload1.PostedFile.SaveAs(filePath);
       ds = GetDataSet(filePath);
       InsertData(ds);
      }
    
    

    希望本文所述对大家asp.net程序设计有所帮助。

    您可能感兴趣的文章:
    • asp.net core集成CKEditor实现图片上传功能的示例代码
    • asp.net core webapi文件上传功能的实现
    • ASP.NET Core单文件和多文件上传并保存到服务端的方法
    • asp.net利用ashx文件实现文件的上传功能
    • asp.net大文件上传解决方案实例代码
    • asp.net上传Excel文件并读取数据的实现方法
    • ASP.NET Core中使用EPPlus导入出Excel文件的完整步骤
    • ASP.NET Core 导入导出Excel xlsx 文件实例
    • ASP.NET之Excel下载模板、导入、导出操作
    • asp.net实现数据从DataTable导入到Excel文件并创建表的方法
    • asp.net中EXCEL数据导入到数据库的方法
    • Asp.Net使用Npoi导入导出Excel的方法
    • ASP.NET下将Excel表格中的数据规则的导入数据库思路分析及实现
    • ASP.NET 上传文件导入Excel的示例
    上一篇:asp.net实现从Txt文件读取数据到数据视图的方法
    下一篇:asp.net实现根据城市获取天气预报的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    asp.net实现将Excel中多个sheet数据导入到SQLSERVER中的方法 asp.net,实,现将,Excel,中,多个,