• 【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);
            }
        }
  • 相关阅读:
    jacascript 数组
    jacascript 基础数据类型(一)
    JS checkbox 全选 全不选
    sql 循环处理表数据中当前行和上一行中某值相+/-
    C# 围棋盘的画法
    C 中读取键盘码
    C# string.format、string.connect和+=运算 效率计算
    Sqlserver 中exists 和 in
    urldecode解码方法
    SQL server 临时表
  • 原文地址:https://www.cnblogs.com/amadeuslee/p/3744469.html
Copyright © 2020-2023  润新知