100分 求 我们一次生成卡号至少要2万张!谢谢!效率一定要高!
1. 批量生成卡号,我已经完成!
2. 我将批量生成的卡号已经放在一个表里边了
3. 批量写输入数据库(我的太慢了,所以我现在要求新的方法批量写输入数据库)!
4. 写输入数据库之后 导出到excel!

解决方案 »

  1.   

    导出Excel/// <summary>
        /// 往Excel中写入时必须有的方法
        /// </summary>
        /// <param name="control"></param>
        public override void VerifyRenderingInServerForm(Control control)
        {
            // Confirms that an HtmlForm control is rendered for
            //必须有的方法 
        }    /// <summary>
        /// 导入到Excel中,但是必须要有VerifyRenderingInServerForm的重载方法,要不gvone.RenderControl(htmlWrite)会报错(未在runt=server窗体中)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            Response.Clear();   //先将Response中的所有内容清除
            Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");//打开一个保存对话框,FileName将作为默认的Excel名称
            Response.ContentType = "application/vnd.xls";  //设置流的类型,文件解析流的时候以指定的格式解析
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312"); //编码,防止出现乱码,制定编码类型
            System.IO.StringWriter stringWrite = new System.IO.StringWriter();  //实例化字符串流类
            System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite); //将要导入Excel中的网页内容写入字符串流中
            gvone.RenderControl(htmlWrite);  //将GridView内容写入字符串流中
            Response.Write(stringWrite); //将流写入Response中
            Response.End(); //将Response写入Excel        //以下内容为分页时适用
            //System.IO.StringWriter stringWrite = new System.IO.StringWriter();
            //System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);        //gvone.AllowPaging = false;  //如果有分页,先把分页禁用,然后重新获取下数据,将gridview写到htmlwrite中
            //BindData();
            //gvone.RenderControl(htmlWrite);        //Response.Write(stringWrite.ToString());
            //Response.End();
            //gvone.AllowPaging = true;
            //BindData();
        } 
      

  2.   

    http://www.cnblogs.com/blognetspace/articles/1215068.html
      

  3.   

    插入前,就开始往excel导数据。
    如果提交成功,才保存excel。
      

  4.   

    批量插入.
    把100笔或者500笔的插入SQL语句拼成一句提交.
    然后循环之.
    解决
      

  5.   

    可以把所有插入语句用;号连接起来。记得用StringBuilder
      

  6.   

    批量导入提高效率还是使用SqlBulkCopy 
    using (SqlConnection con = new SqlConnection("")) 
                { 
                    con.Open(); 
                    string sql = ""; 
                    using (SqlCommand com = new SqlCommand(sql, con)) 
                    { 
                        SqlDataReader dr = com.ExecuteReader(); 
                        using (SqlConnection connn = new SqlConnection(aa)) 
                        { 
                            connn.Open(); 
                            SqlBulkCopy BulkCopy = new SqlBulkCopy(connn); 
                            BulkCopy.DestinationTableName = ""; 
                            BulkCopy.WriteToServer(dr); 
                        } 
                    } 
                } 
          
      

  7.   

    .net 使用SqlBulkCopy极速插入数据到 SQL Server - 柳永法(yongfa365)'Blog
      

  8.   

    用批量执行sql语句,
    你用循环把多个SQL语句加入到StringBuffer中来执行  减少提交数据的次数来提高效率