Pergunta

Estou usando relatórios ativos no meu programa VB para gerar um relatório com base nos meus dados. No momento, tenho o relatório de abertura e está permitindo que o usuário imprima, copie, encontre etc. Não tenho certeza de como adicionar a funcionalidade para permitir que o usuário opte por exportar o gráfico assim que o programa estiver em execução.

Eu tenho analisado muitos tutoriais, mas sempre há algo que torna incapaz de trabalhar no meu programa. Por exemplo isto O fórum fornece o código exato para o que eu quero, pois eles adicionam um botão de exportação à barra de ferramentas e, em seguida, adiciona a funcionalidade ao botão. Infelizmente, não consigo acessar a barra de ferramentas. Eles acessam com Me.Toolbar E não consigo acessá -lo dessa maneira.

Outro fórum aqui Não adiciona a exportação à barra de ferramentas e, em vez disso, a insere diretamente no código, mas não tenho certeza do que importar para me permitir fazê -lo dessa maneira, pois meu projeto não reconhece ActiveReportsPDFExport.ARExportPDF.

ATUALIZAR:

Encontrou uma maneira de exportar para PDF adicionando ao ActiveReport no formato de design a DataDynamics.ActiveReports.Export.Pdf.PdfExport E então chamando do meu código PdfExport1.Export(Me.Document, "D:\Kyra\HELP.pdf")

Problema:

  1. Isso é chamado no final da minha função, que abre o relatório ativo. Quero que o usuário possa optar por exportar o relatório e ter a opção de escolher o formato e o local onde desejam salvar o relatório.
Foi útil?

Solução

Abaixo está o código para adicionar um botão de exportação em PDF à barra de ferramentas do ActiveReports usando o VB.NET e o 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

Esse código funciona dentro de um formulário com um visualizador do ActiveReports no formulário HTE chamado "Viewer1".

Espero que isto ajude,

Scott Willeke
GrapeCity

Outras dicas

Basta seguir as instruções aqui. Especificamente, é o botão que eles adicionam 'cmdexport' que permite que o usuário inicie a exportação.

Esse código está funcionando para mim, basta passar no objeto 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;
    }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top