2

我在我的 VB 程序中使用 Active Reports 根据我的数据生成报告。现在我的报告打开得很好,它允许用户打印、复制、查找等。我不确定如何添加功能以让用户在程序运行后选择导出图表。

我一直在看很多教程,但总有一些东西使它无法在我的程序中工作。例如,这个论坛给出了我想要的确切代码,因为他们将导出按钮添加到工具栏,然后将功能添加到按钮。不幸的是,我无法访问工具栏。他们使用它访问它,Me.Toolbar而我无法以这种方式访问​​它。

这里的另一个论坛没有将导出添加到工具栏,而是将其直接插入到代码中,但我不确定要导入什么才能让我这样做,因为我的项目无法识别ActiveReportsPDFExport.ARExportPDF

更新:

通过以设计格式添加到 ActiveReport aDataDynamics.ActiveReports.Export.Pdf.PdfExport然后从我的代码中调用,找到了一种导出为 PDF 的方法PdfExport1.Export(Me.Document, "D:\Kyra\HELP.pdf")

问题:

  1. 这在我打开活动报告的函数结束时调用。我希望用户能够选择导出报告,然后可以选择他们希望将报告保存到的格式和位置。
4

3 回答 3

4

下面是使用 VB.NET 和 ActiveReports 6 将 PDF 导出按钮添加到 ActiveReports 工具栏的代码:

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

此代码在名为“Viewer1”的表单上具有 ActiveReports 查看器的表单内工作。

希望这可以帮助,

Scott Willeke
GrapeCity
于 2010-07-27T17:47:38.953 回答
2

只需按照此处的说明进行操作即可。具体来说,是他们添加“cmdExport”的按钮让用户开始导出。

于 2010-06-11T07:20:14.843 回答
0

这段代码对我有用,只需将它传递给 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;
    }
于 2015-05-08T10:45:14.623 回答