Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dagma Collela

GridView, Export To PDF -- C#

Recommended Posts

Galera é o seguinte, Eu tenho GridView que exibe notas dos alunos de uma escola.

Ai criei um botão, que me exporta esse GridView para PDF...

Até ai Blz!

 

Só que esse PDF, ta vindo tudo sem Custom, ou seja, vem tudo em tabelas mais sem cor, sem alinhamento!

vou postar o código abaixo, se alguém ver onde ta errado eu agradeço. .

  private void ExportGridToPDF()
        {

            Response.ContentType = "application/pdf";
            Response.AddHeader("content-disposition", "attachment;filename=Boletim.pdf");
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            StringWriter sw = new StringWriter();
            HtmlTextWriter hw = new HtmlTextWriter(sw);
            GridView1.RenderControl(hw);
            StringReader sr = new StringReader(sw.ToString());
            Document pdfDoc = new Document(PageSize.A4, 10.0f, 10.0f, 10.0f, 0f);
            HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
            PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
            pdfDoc.Open();
            htmlparser.Parse(sr);
            pdfDoc.Close();
            Response.Write(pdfDoc);
            Response.End();
            GridView1.AllowPaging = true;
            GridView1.DataBind();
        }  

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, isso é provavelmente porque você está lendo a string direta... Você vai provavelmente ter que exportar como HTML e depois converter o HTML em PDF

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo mesmo sendo uma pagina da internet tenho que transformar ele em HTML?.. como PDF não deu certo mais mudei esquema para .DOC, e funciono, então não vejo a necessidade de por 2 tipo de formato. A Baixo Código que utilizei.


            Response.Clear();
            Response.Buffer = true;
            Response.AddHeader("content-disposition",
            "attachment;filename=Boletim.doc");
            Response.Charset = "";
            Response.ContentType = "application/vnd.ms-word ";
            StringWriter sw = new StringWriter();
            HtmlTextWriter hw = new HtmlTextWriter(sw);
            GridView1.AllowPaging = false;
            GridView1.DataBind();
            GridView1.RenderControl(hw);
            Response.Output.Write(sw.ToString());
            Response.Flush();
            Response.End(); 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.