Как вы экспортируете отчет при использовании ActiverePorts
-
26-09-2019 - |
Вопрос
Я использую активные отчеты в рамках моей программы VB для создания отчета на основе моих данных. Прямо сейчас у меня будет открытие отчета, и он позволяет пользователю печатать, копировать, найти и т. Д. Я не уверен, как добавить функциональные возможности, чтобы пользователь выбрал экспортировать график, когда программа запущена.
Я смотрел на многие учебники, но всегда есть что-то, что делает его неспособным работать в моей программе. Например это Форум дает точный код для того, что я хочу, поскольку они добавляют кнопку экспорта на панель инструментов, а затем добавляет функциональность к кнопке. К сожалению, я не могу получить доступ к панели инструментов. Они получают доступ к этому с Me.Toolbar
И я не могу получить доступ к этому так.
Еще один форум здесь не добавляет экспорт на панель инструментов и вместо этого вставляет его непосредственно в код, но я не уверен, что импортировать, чтобы позволить мне сделать это таким образом, как мой проект не распознает ActiveReportsPDFExport.ARExportPDF
.
ОБНОВИТЬ:
Нашел способ экспортировать в PDF, добавив в ActiverePort в формате дизайна A DataDynamics.ActiveReports.Export.Pdf.PdfExport
а затем звонить из моего кода PdfExport1.Export(Me.Document, "D:\Kyra\HELP.pdf")
Проблема:
- Это вызывается в конце моей функции, которая открывает активный отчет. Я хочу, чтобы пользователь мог выбрать для экспорта отчета, а затем предоставить возможность выбрать формат и местоположение, где они хотят сохранить отчет.
Решение
Ниже приведен код для добавления кнопки экспорта 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;
}