Pregunta

Estoy usando Active Reports dentro de mi programa de VB para generar un informe basado en los datos de mi. Ahora mismo tengo la multa abertura de informe y está permitiendo al usuario imprimir, copiar, buscar, etc. No estoy seguro de cómo añadir la funcionalidad para permitir al usuario elegir para exportar la tabla una vez que el programa se está ejecutando.

He estado buscando en muchos tutoriales pero siempre hay algo que lo hace incapaz de trabajar en mi programa. Por ejemplo este foro da el código exacto para lo que quiero, ya que añadir una botón de exportar a la barra de herramientas y luego añade la funcionalidad para el botón. Desafortunadamente no soy capaz de acceder a la barra de herramientas. Acceden con Me.Toolbar y soy incapaz de acceder a él de esta manera.

Otro foro aquí no agrega la exportación a la barra de herramientas y en su lugar se inserta directamente en el código, pero no estoy seguro de qué importar para permitir que lo haga de esta manera como mi proyecto no reconoce ActiveReportsPDFExport.ARExportPDF.

ACTUALIZACIÓN:

Se han encontrado una manera de exportar a PDF mediante la adición a la ActiveReport en el formato de diseño un DataDynamics.ActiveReports.Export.Pdf.PdfExport y luego llamar a mi código PdfExport1.Export(Me.Document, "D:\Kyra\HELP.pdf")

Problema:

  1. Esto se llama al final de mi función que abre el informe activo. Quiero que el usuario sea capaz de elegir exportar el informe y luego tener la opción de elegir el formato y la ubicación en la que desea guardar el informe.
¿Fue útil?

Solución

A continuación se muestra el código para agregar un botón Exportar PDF a la barra de herramientas ActiveReports usando VB.NET y 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

Este código funciona dentro de una pantalla con un visor de ActiveReports en forma de HTE llamado "Viewer1".

Espero que esta ayuda,

Scott Willeke
GrapeCity

Otros consejos

Sólo tienes que seguir a lo largo de las instrucciones aquí . En concreto, es el botón que añaden 'cmdExport' que permite al usuario iniciar la exportación.

Este código de trabajo para mí, sólo tiene que pasar que Webviewer objeto.

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;
    }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top