• 【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);
            }
        }
  • 相关阅读:
    QT VS配置UNICODE问题
    深入理解C++中的mutable关键字
    Qt creator error: LNK1123: 转换到 COFF 期间失败: 文件无效或损坏(vs2010的嵌入式清单文件)
    hdu 3401 Trade 单调队列优化dp
    QT父子与QT对象delete
    QT下的几种透明效果(三种方法:调色板,透明度属性,自绘)
    QT实现鼠标钩子(使用SetWindowsHookEx安装mouseProc函数)
    VirtualBox的网络设置(6种方式)
    8个成功界面的特性
    熬之滴水成石:Spring--精简的J2EE(7)
  • 原文地址:https://www.cnblogs.com/amadeuslee/p/3744469.html
Copyright © 2020-2023  润新知