none
apresentar o header de um gridview em tempo de execução RRS feed

  • Pergunta

  • Fala galera, estou precisando criar um relatório em excel com dados contido no gridview, porém esse gridview eu tive que deixar o header com show=false, pois precisei fazer uns merges nele com o RownDataBound.

    Só que quando vou exportar para excel, os dados do gridview vem se o nome da coluna porque o header esta com show = false;

    Alguém poderia me ajudar a colocar o nome dessas colunas ?]]Abaixo o código que uso para gerar o excel:

     protected void btnGenerateExcell_Click(object sender, EventArgs e)
            {
                Response.Clear();
                Response.Buffer = true;
                Response.AddHeader("content-disposition", "attachment;filename=Report.xls");
                Response.Charset = "";
                Response.ContentType = "application/vnd.ms-excel";
                StringWriter sw = new StringWriter();
                HtmlTextWriter hw = new HtmlTextWriter(sw);
    
                foreach (RepeaterItem item in rptData.Items)
                {
                    GridView gvDt = (GridView)item.FindControl("gvdata");
                    Label lblService = (Label)item.FindControl("lblService");
    
                    lblService.ForeColor = System.Drawing.Color.Black;
                    gvDt.ShowHeader = true;
                    //Altere a linha de cabeçalho de volta para a cor branca
                    gvDt.HeaderRow.Style.Add("background-color", "#000000");
    
                    gvDt.HeaderRow.Cells[0].Text = "dados";
                    gvDt.HeaderRow.Cells[0].Visible = true;
                    gvDt.HeaderRow.Cells[0].ForeColor = System.Drawing.Color.Black;
    
                    //Aplicar estilo de células individuais
                    gvDt.HeaderRow.Cells[0].Style.Add("background-color", "green");
                    gvDt.HeaderRow.Cells[1].Style.Add("background-color", "green");
                    gvDt.HeaderRow.Cells[2].Style.Add("background-color", "green");
                    gvDt.HeaderRow.Cells[3].Style.Add("background-color", "green");
                    gvDt.HeaderRow.Cells[4].Style.Add("background-color", "green");
                    gvDt.HeaderRow.Cells[5].Style.Add("background-color", "green");
                    gvDt.HeaderRow.Cells[6].Style.Add("background-color", "green");
                    gvDt.HeaderRow.Cells[7].Style.Add("background-color", "green");
                    gvDt.HeaderRow.Cells[8].Style.Add("background-color", "green");
                    gvDt.HeaderRow.Cells[9].Style.Add("background-color", "green");
                    gvDt.HeaderRow.Cells[10].Style.Add("background-color", "green");
    
                    for (int i = 0; i < gvDt.Rows.Count; i++)
                    {
                        GridViewRow row = gvDt.Rows[i];
    
                        //Alterar cor de volta para branco
                        row.BackColor = System.Drawing.Color.White;
    
                        //Aplicar estilo de texto para cada linha
                        row.Attributes.Add("class", "textmode");
    
                        //Aplicar estilo de células individuais do alternada Row
                        if (i % 2 != 0)
                        {
                            row.Cells[0].Style.Add("background-color", "#FFFFFF");
                            row.Cells[1].Style.Add("background-color", "#FFFFFF");
                            row.Cells[2].Style.Add("background-color", "#FFFFFF");
                            row.Cells[3].Style.Add("background-color", "#FFFFFF");
                            row.Cells[4].Style.Add("background-color", "#FFFFFF");
                            row.Cells[5].Style.Add("background-color", "#FFFFFF");
                            row.Cells[6].Style.Add("background-color", "#FFFFFF");
                            row.Cells[7].Style.Add("background-color", "#FFFFFF");
                            row.Cells[8].Style.Add("background-color", "#FFFFFF");
                            row.Cells[9].Style.Add("background-color", "#FFFFFF");
                            row.Cells[10].Style.Add("background-color", "#FFFFFF");
                        }
                    }
                    //gvDt.RenderControl(hw);
                }
    
                rptData.RenderControl(hw);
    
                //estilo para formatar números para string
                string style = @"<style> .textmode { mso-number-format:\@; } </style>";
                Response.Write(style);
                Response.Output.Write(sw.ToString());
                Response.Flush();
                Response.End();
            }

    domingo, 19 de janeiro de 2014 21:24

Todas as Respostas