Question

Je suis une utilisation Active des Rapports au sein de mon programme visual basic pour générer un rapport basé sur mes données.Droit maintenant, j'ai le rapport d'ouverture fine et il permet à l'utilisateur d'imprimer, de copier, de trouver, etc.Je ne sais pas comment ajouter la fonctionnalité pour permettre à l'utilisateur de choisir d'exporter le graphique une fois que le programme est en cours d'exécution.

J'ai été à la recherche à de nombreux tutoriels mais il y a toujours quelque chose qui le rend incapable de travailler dans mon programme.Par exemple cette forum donne le code exact pour ce que je veux ajouter un bouton exporter de la barre d'outils, puis ajoute la fonctionnalité de la touche.Malheureusement, je suis incapable d'accéder à la barre d'outils.Ils y accéder avec l' Me.Toolbar et je suis incapable d'y accéder de cette façon.

Un autre forum ici ne pas ajouter de l'exportation de la barre d'outils et à la place insère directement dans le code, mais je ne suis pas sûr de ce que d'importer pour me permettre de faire de cette façon que mon projet ne reconnaît pas ActiveReportsPDFExport.ARExportPDF.

Mise à JOUR:

Trouvé un moyen d'exporter au format PDF, en ajoutant à la ActiveReport dans le format de conception d'un DataDynamics.ActiveReports.Export.Pdf.PdfExport et ensuite appeler à partir de mon code PdfExport1.Export(Me.Document, "D:\Kyra\HELP.pdf")

Problème:

  1. Cela est appelé à la fin de ma fonction qui ouvre le rapport actif.Je veux que l'utilisateur soit en mesure de choisir d'exporter le rapport, et de donner ensuite la possibilité de choisir le format et l'emplacement où ils veulent sauvegarder le rapport.
Était-ce utile?

La solution

Ci-dessous est le code pour ajouter un PDF bouton Exporter pour le ActiveReports à l'aide de la Barre d'outils VB.NET et ActiveReports 6:

Const pdfExportToolID As Long = 42

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim myExportTool As DataDynamics.ActiveReports.Toolbar.Button
    myExportTool = New DataDynamics.ActiveReports.Toolbar.Button()
    myExportTool.ButtonStyle = DataDynamics.ActiveReports.Toolbar.ButtonStyle.Text
    myExportTool.Caption = "Export to PDF"
    myExportTool.Id = pdfExportToolID
    Me.Viewer1.Toolbar.Tools.Add(myExportTool)

    ' load report:
    Dim rpt As New NewActiveReport1()
    Me.Viewer1.Document = rpt.Document
    rpt.Run(False)
End Sub

Private Sub Viewer1_ToolClick(ByVal sender As System.Object, ByVal e As DataDynamics.ActiveReports.Toolbar.ToolClickEventArgs) Handles Viewer1.ToolClick
    If (e.Tool.Id = pdfExportToolID) Then
        Dim pdf As New DataDynamics.ActiveReports.Export.Pdf.PdfExport()
        pdf.Export(Me.Viewer1.Document, "C:\users\scott\junk\myActiveReport.pdf")

    End If
End Sub

Ce code fonctionne à l'intérieur d'un formulaire avec un ActiveReports Viewer sur le formulaire nommé "Viewer1".

Espérons que cela aide,

Scott Willeke
GrapeCity

Autres conseils

Il suffit de suivre les instructions ici.Plus précisément, c'est le bouton, ils ajoutent 'cmdExport" qui permet à l'utilisateur de démarrer l'exportation.

Ce code fonctionne chez moi, juste passer Webviewer objet.

ABC.Run();
ARWebViewer.Report = ABC; 

ExportToExcel(ARWebViewer); // call ExportToExcel method, 

public void ExportToExcel(DataDynamics.ActiveReports.Web.WebViewer objWebviewer)

    {
        DataDynamics.ActiveReports.Export.Xls.XlsExport XLSexport = new DataDynamics.ActiveReports.Export.Xls.XlsExport();

        System.IO.MemoryStream memStream = new System.IO.MemoryStream();
        if (XLSexport == null)
            XLSexport = new DataDynamics.ActiveReports.Export.Xls.XlsExport();

        XLSexport.AutoRowHeight = true;
        XLSexport.MinColumnWidth = (float)0.2;
        XLSexport.RemoveVerticalSpace = true;
        XLSexport.UseCellMerging = true;

        XLSexport.Export(objWebviewer.Report.Document, memStream);
        memStream.Position = 0;
        Response.ContentType = "application/Xls";
        Response.AddHeader("content-disposition", "attachment; filename=" + ajDoc + ".Xls");

        Response.BinaryWrite(memStream.ToArray());
        Response.End();
        XLSexport = null;
    }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top