Domanda

Utilizzo Active Reports all'interno del mio programma VB per generare un report basato sui miei dati.In questo momento il report si apre correttamente e consente all'utente di stampare, copiare, trovare, ecc.Non sono sicuro di come aggiungere la funzionalità per consentire all'utente di scegliere di esportare il grafico una volta che il programma è in esecuzione.

Ho guardato molti tutorial ma c'è sempre qualcosa che lo rende incapace di funzionare nel mio programma.Per esempio Questo forum fornisce il codice esatto per ciò che desidero poiché aggiungono un pulsante di esportazione alla barra degli strumenti e quindi aggiungono la funzionalità al pulsante.Purtroppo non riesco ad accedere alla barra degli strumenti.Vi accedono con Me.Toolbar e non riesco ad accedervi in ​​questo modo.

Un altro foro Qui non aggiunge l'esportazione alla barra degli strumenti e la inserisce invece direttamente nel codice ma non sono sicuro di cosa importare per permettermi di farlo in questo modo poiché il mio progetto non lo riconosce ActiveReportsPDFExport.ARExportPDF.

AGGIORNAMENTO:

Trovato un modo per esportare in PDF aggiungendo ad ActiveReport nel formato di progettazione a DataDynamics.ActiveReports.Export.Pdf.PdfExport e poi chiamando dal mio codice PdfExport1.Export(Me.Document, "D:\Kyra\HELP.pdf")

Problema:

  1. Questo viene chiamato alla fine della mia funzione che apre il report attivo.Desidero che l'utente possa scegliere di esportare il report e quindi avere la possibilità di scegliere il formato e la posizione in cui desidera salvare il report.
È stato utile?

Soluzione

Di seguito è riportato il codice per aggiungere un pulsante di esportazione PDF alla barra degli strumenti ActiveReports utilizzando VB.NET e 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

Questo codice funziona all'interno di un modulo con un visualizzatore ActiveReports sul modulo denominato "Viewer1".

Spero che questo ti aiuti,

Scott Willeke
GrapeCity

Altri suggerimenti

Basta seguire le istruzioni Qui.Nello specifico, è il pulsante aggiunto "cmdExport" che consente all'utente di avviare l'esportazione.

Questo codice funziona per me, basta passarlo all'oggetto Webviewer.

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;
    }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top