none
Exporter les données d'un datagridview vers un format pdf RRS feed

  • Question

  • Bonjour à tous,

    je voudrais améliorer mon application en exportant les données affichées dans un datagridview vers un format pdf.

    Quelqu'un sur le forum a t il une idée?

    Merci.

    lundi 23 avril 2012 06:44

Réponses

  • Il n'y a rien de natif à ce que je sache (contrairement à des grid d'éditeurs tiers comme Infragisics ou Telerik ou DevExpress ou ComponentOne ou (j'en ai oublié ? ;-)).

    En revanche, vous pouvez le faire "à la main". C'est-à-dire créer dynamiquement votre PDF. Là encore, il est préférable de passer par des composants tiers mais bonne nouvelle, il y en a des gratuits (Open Source) comme PdfSharp que j'utilise.


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    lundi 23 avril 2012 07:53
  • Bonjour,

    Pour info et d'expérience, je déconseille l'utilisation de PdfSharp. Le produit comporte beaucoup de bogues et n'est plus mis à jour.
    Préférez iTextSharp dont la communauté améliore et corrige les bugs continuellement : http://sourceforge.net/projects/itextsharp/

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    lundi 23 avril 2012 09:20
    Modérateur

Toutes les réponses

  • Il n'y a rien de natif à ce que je sache (contrairement à des grid d'éditeurs tiers comme Infragisics ou Telerik ou DevExpress ou ComponentOne ou (j'en ai oublié ? ;-)).

    En revanche, vous pouvez le faire "à la main". C'est-à-dire créer dynamiquement votre PDF. Là encore, il est préférable de passer par des composants tiers mais bonne nouvelle, il y en a des gratuits (Open Source) comme PdfSharp que j'utilise.


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    lundi 23 avril 2012 07:53
  • Bonjour,

    Pour info et d'expérience, je déconseille l'utilisation de PdfSharp. Le produit comporte beaucoup de bogues et n'est plus mis à jour.
    Préférez iTextSharp dont la communauté améliore et corrige les bugs continuellement : http://sourceforge.net/projects/itextsharp/

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    lundi 23 avril 2012 09:20
    Modérateur
  • J'ai pas testé iTextSharp, mais pour ma part, j'ai jamais eu de pb avec PdfSharp (dernière mise à jour effectivement Mai 2009).

    Mais quid de la licence de iTextSharp ?

    Buying such a license is mandatory as soon as you develop commercial activities distributing the iText software inside your product or deploying it on a network without disclosing the source code of your own applications under the AGPL license


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    lundi 23 avril 2012 09:25
  • merci à tous pour ces reactions,

    mais GILLES j'ai télécharger la dll iTextSharp mais  j'ai un problème au niveau de ce code qui consomme cette dll.

    Protected Sub Button_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

         Response.Clear()

         Response.Buffer=True

    etc

    End Sub

    Mon problème est à quoi correspond Response ?



    • Modifié supdate lundi 23 avril 2012 10:50
    lundi 23 avril 2012 10:32
  • Bonjour,

    Response est certainement la classe HttpResponse d'ASP .NET qui représente la réponse HTTP que l'on va retourner au client (navigateur).

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    mardi 24 avril 2012 07:19
    Modérateur
  • Bonjour,

    Pour info et d'expérience, je déconseille l'utilisation de PdfSharp. Le produit comporte beaucoup de bogues et n'est plus mis à jour.
    Préférez iTextSharp dont la communauté améliore et corrige les bugs continuellement : http://sourceforge.net/projects/itextsharp/

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    Bonjour,

    En fin de compte je viens de découvrir et tester la bibliothèque PdfSharp qui est très bien conçu. Très simple d'utilisation et elle utilise les mêmes concepts que l'objet Graphics GDI+.
    J'ai confondu PdfSharp avec une autre bibliothèque que j'avais utilisé qui était sharpPdf (http://sourceforge.net/projects/sharppdf/files/sharppdf/). C'est cette bibliothèque que je déconseille fortement d'utiliser (d'ailleurs elle a pas été mis à jour depuis 2005 !).

    Merci Richard pour le tuyau !

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    mardi 24 avril 2012 07:23
    Modérateur
  • LOL. faut dire, les noms sont pas très éloignés. et Pdf.Sharp ou Sharp.Pdf, ca existe ? ;-)))

    Maintenant, je l'ai pas testé à fond, mais franchement, c'est rapide et effectivement, l'approche "à la GDI" permet de se retrouver facilement (pour peu qu'on ai fait du GDI avant).


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    mardi 24 avril 2012 07:28
  • bonjour Gilles,Clark et à tous ceux qui sont en ligne

    en fait j'ai utilisé la dll iTextSharp que j'ai téléchargé, mais j'ai un bog au niveau de la routine permettant d'avoir un fichier PDF.Voici le bout de code que j'utilise

     Private Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click
            Response.Clear()
            Response.Buffer = True
            Response.ContentType = "application/pdf"
            Response.AddHeader("content-disposition", "attachment;filename=personnel.pdf")
            Response.Cache.SetCacheability(HttpCacheability.NoCache)
            Dim StringWriter1 As New StringWriter
            Dim HTMLTextWriter1 As New HtmlTextWriter(StringWriter1)
            GridView1.RenderControl(HTMLTextWriter1)
            Dim StringReader1 As New StringReader(StringWriter1.ToString())
            Dim newDocument As New Document(PageSize.A4, 7.0F, 7.0F, 7.0F, 7.0F)
            Dim HTMLWorker1 As New HTMLWorker(newDocument)
            newDocument.Open()
            HTMLWorker1.Parse(StringReader1)
            newDocument.Close()
            Response.Write(newDocument)
            Response.End()
        End Sub

    Ce code leve une exception HttpException m'indiquant que mon Gridview être placé dans une balise form avec un runat="server" or Gridview est bien dans une balise form avec runat=server.

    je joins un printecran

    je j

    mercredi 2 mai 2012 07:19