zoukankan      html  css  js  c++  java
  • 【Vegas原创】GridView修改表头,并导出Excel(C#版)

    protected void btnExcel_Click(object sender, EventArgs e)
        {
            
    //绑定
            bindgrdExcel();
            
    //修改多行表头
            ModifygrdHeader();
            
    //导出Excel
            toExcelgrdExcel();

        }
        
    /// <summary>
        
    /// Response方法导出Excel,必须加的代码
        
    /// </summary>
        
    /// <param name="control"></param>
        public override void VerifyRenderingInServerForm(Control control)
        {
            
    // Confirms that an HtmlForm control is rendered for
        }
        
    /// <summary>
        
    /// 绑定grdExcel
        
    /// </summary>
        void bindgrdExcel()
        {
            DataSet ds 
    = db.GetDataSet("procUtility_Excel");
            grdExcel.DataSource 
    = ds.Tables[0];
            grdExcel.DataBind();
        }
        
    /// <summary>
        
    /// 导出Excel
        
    /// </summary>
        void toExcelgrdExcel()
        {
            Response.Clear();
            Response.Buffer 
    = true;
            Response.Charset 
    = "GB2312";
            Response.AppendHeader(
    "Content-Disposition""attachment;filename=Qty.xls");
            
    //如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!!
            Response.ContentEncoding = System.Text.Encoding.UTF8;
            Response.ContentType 
    = "application/ms-excel";//设置输出文件类型为excel文件。 

            System.IO.StringWriter oStringWriter 
    = new System.IO.StringWriter();
            System.Web.UI.Html32TextWriter oHtmlTextWriter 
    = new Html32TextWriter(oStringWriter);

            grdExcel.RenderControl(oHtmlTextWriter);
            Response.Output.Write(oStringWriter.ToString());
            Response.Flush();
            Response.End();
        }
       
    /// <summary>
        
    /// 自定义多行表头
       
    /// </summary>
        void ModifygrdHeader()
        {
            
    try
            {

                
    this.grdExcel.HeaderRow.Cells.Clear();
                TableCell cell 
    = new TableCell();
                cell.Text 
    = "<tr  style='background-color: #006699;font-size: 15px;color: #FFFFFF;padding: 2pt;'><td rowspan='2' style='font-size=15px'>Customer</td><td  rowspan=2  style='font-size=15px'>" +
                             
    "Size</td><td rowspan='2'  style='font-size=15px'>TAC Film</td><td rowspan='2'  style='font-size=15px'>搭配性产品</td><td rowspan='2'  style='font-size=15px'>T/B</td><td rowspan='2'  style='font-size=15px'>Absorption Angle</td>" +
                             
    "<td rowspan='2'  style='font-size=15px'>Dimension_X</td><td rowspan='2'  style='font-size=15px'>Dimension_Y</td><td rowspan='2'  style='font-size=15px'>经济幅宽</td><td colspan='2'  style='font-size=15px'>1330mm</td><td colspan='2'  style='font-size=15px'>1475mm</td><td colspan='2'  style='font-size=15px'>2000mm</td>" +
                             
    "</tr><tr  style='background-color: #006699;font-size: 12px;color: #FFFFFF;padding: 2pt;'><td>片数/M</td><td>利用率</td><td>片数/M</td><td>利用率</td><td>片数/M</td><td>利用率</td>";
     
                
    this.grdExcel.HeaderRow.Cells.Add(cell);
            }
            
    catch (Exception e)
            {
                
    string url = Request.ApplicationPath + "/error.aspx?error=" + e.Message.ToString() + "&strurl=" + Request.Url.ToString() + "&way=gridheader";
                Response.Redirect(url);
            }
        }
  • 相关阅读:
    登录被浏览器记住密码后,密码填充到密码框问题
    ThreadLocal为什么不使用Thread-value实现
    Linux AIO
    关于文件和socket读写的系统调用和库函数的一些小问题
    Maestro OAuth实现分析
    MySQL 两表join时加锁情况
    mysql基础之锁协议,事务隔离级别,加锁顺序
    MySQL中Timestamp和DateTime在JDBC和shell中的表现差异
    从git的问题模型理解git
    JVM类加载的符号解析
  • 原文地址:https://www.cnblogs.com/amadeuslee/p/3744469.html
Copyright © 2011-2022 走看看