IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[ASP.NET 2.0][C#] Comment exporter en PDF un etat CrystalReport par programmation ?


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Louisa
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2006
    Messages : 54
    Par défaut [ASP.NET 2.0][C#] Comment exporter en PDF un etat CrystalReport par programmation ?
    Bonjour

    Je crée des états avec CrystalReport
    Je cherche à exporter sous PDF des états d'impression sans passer par l'apercu avant impression et sans utiliser le bouton de la toolbar du CrystalReportViewer1.

    Je voudrai juste un bouton que lorsqu'on clique dessus , on a tout de suite l'export vers PDF qui s'effectue.

    Merci

  2. #2
    Membre Expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Par défaut
    Voici une façon de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    ReportDocument _objReport = new ReportDocument();
    _objReport.FileName = ReportFileName;
     
    _objReport.SetDataSource(_reportDataSource);
     
    MemoryStream m_stream = (MemoryStream)_objReport.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
     
    Response.Clear();
    Response.Buffer = true;
    Response.ContentType = "application/pdf";
    m_stream.WriteTo(Response.OutputStream);
    Response.End();
    Le code ici, te génère le pdf et l'envoie au navigateur.

  3. #3
    Membre confirmé Avatar de Louisa
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2006
    Messages : 54
    Par défaut
    Merci pour ton exemple de code mais je n'arrive pas à le faire fonctionner
    J'ai une erreur sur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        MemoryStream m_stream = (MemoryStream)_objReport.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
    En fait, je connais pas cette classe : MemoryStream
    et comment l'intégrer à mon projet web

    Merci d'avance

  4. #4
    Membre Expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Par défaut
    MemoryStream représente un flux en mémoire..

    Il faut faire un using de System.IO pour que cela fonctionne.

  5. #5
    Membre confirmé Avatar de Louisa
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2006
    Messages : 54
    Par défaut
    Effectivement il fallait ajouter : using System.IO;
    Mais j'avoue que j'ai tjs un problème

    Load report failed.
    j'ai pourtant completer FileName et Set Datasource :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    _objReport._objReport.FileName = "Minute.rpt";
    _objReport.SetDataSource(CrystalReportSource1);

  6. #6
    Membre Expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Par défaut
    Citation Envoyé par Louisa Voir le message
    Effectivement il fallait ajouter : using System.IO;
    Mais j'avoue que j'ai tjs un problème



    j'ai pourtant completer FileName et Set Datasource :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    _objReport._objReport.FileName = "Minute.rpt";
    _objReport.SetDataSource(CrystalReportSource1);
    Je pense que c'est parce qu'il ne trouve pas le fichier... essaye avec ceci :
    Server.MapPath("Minute.rpt");

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ASP.NET 2.0][C#] Comment écrire dans un fichier Excel ?
    Par Louisa dans le forum Accès aux données
    Réponses: 8
    Dernier message: 19/12/2012, 18h43
  2. Réponses: 3
    Dernier message: 16/09/2008, 15h28
  3. Réponses: 2
    Dernier message: 04/08/2008, 11h13
  4. Réponses: 6
    Dernier message: 18/10/2007, 15h09
  5. Réponses: 3
    Dernier message: 08/03/2007, 17h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo