Как вы экспортируете отчет при использовании ActiverePorts

StackOverflow https://stackoverflow.com/questions/3018385

Вопрос

Я использую активные отчеты в рамках моей программы VB для создания отчета на основе моих данных. Прямо сейчас у меня будет открытие отчета, и он позволяет пользователю печатать, копировать, найти и т. Д. Я не уверен, как добавить функциональные возможности, чтобы пользователь выбрал экспортировать график, когда программа запущена.

Я смотрел на многие учебники, но всегда есть что-то, что делает его неспособным работать в моей программе. Например это Форум дает точный код для того, что я хочу, поскольку они добавляют кнопку экспорта на панель инструментов, а затем добавляет функциональность к кнопке. К сожалению, я не могу получить доступ к панели инструментов. Они получают доступ к этому с Me.Toolbar И я не могу получить доступ к этому так.

Еще один форум здесь не добавляет экспорт на панель инструментов и вместо этого вставляет его непосредственно в код, но я не уверен, что импортировать, чтобы позволить мне сделать это таким образом, как мой проект не распознает ActiveReportsPDFExport.ARExportPDF.

ОБНОВИТЬ:

Нашел способ экспортировать в PDF, добавив в ActiverePort в формате дизайна A DataDynamics.ActiveReports.Export.Pdf.PdfExport а затем звонить из моего кода PdfExport1.Export(Me.Document, "D:\Kyra\HELP.pdf")

Проблема:

  1. Это вызывается в конце моей функции, которая открывает активный отчет. Я хочу, чтобы пользователь мог выбрать для экспорта отчета, а затем предоставить возможность выбрать формат и местоположение, где они хотят сохранить отчет.
Это было полезно?

Решение

Ниже приведен код для добавления кнопки экспорта PDF в панель инструментов ActiveReRaps, используя VB.NET и 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

Этот код работает внутри формы с помощью Viewer ActiveReports на Form HTE с именем «Viewer1».

Надеюсь это поможет,

Scott Willeke
GrapeCity

Другие советы

Просто следуйте в инструкции здесь. Отказ В частности, это кнопка, которую они добавляют «cmdexport», которая позволяет пользователю запустить экспорт.

Этот код работает для меня, просто пропустите объект 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;
    }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top