Метод LocalReport.Render (String, String, out String, out String, out String, out String[], out Warning[])
Обрабатывает отчет и готовит его к просмотру в заданном формате.
Пространство имен: Microsoft.Reporting.WinForms
Сборка: Microsoft.ReportViewer.WinForms (в microsoft.reportviewer.winforms.dll)
Синтаксис
'Декларация
'Применение
параметры
- format
Формат, в котором отчет готовится к просмотру. Этот аргумент соответствует модулю подготовки отчетов. Поддерживаются форматы Microsoft Office Excel, PDF и IMAGE.
- deviceInfo
XML-строка, содержащая сведения об устройствах, которые необходимы для модуля подготовки отчетов, заданного в параметре format. Дополнительные сведения о настройках сведений об устройстве для различных форматов вывода см. в разделе «Настройки сведений об устройстве» электронной документации по SQL Server.
- mimeType
[выход] Тип MIME готового к просмотру отчета.
- encoding
[выход] Кодировка, используемая для подготовки к просмотру содержимого отчета.
- fileNameExtension
[выход] Расширение, используемое для имени выходного файла.
- streams
[выход] Идентификаторы потоков. Их можно использовать для подготовки к просмотру внешних ресурсов (например, изображений), которые связаны с отчетом.
- warnings
[выход] Массив объектов Warning, описывающий предупреждения, созданные во время обработки отчета.
Возвращаемое значение
Массив Byte отчета в указанном формате.
Замечания
Метод Render можно использовать для экспорта и печати отчета.
Примеры
Следующий пример кода предполагает наличие приложения Windows Forms с элементом управления ReportViewer и кнопкой. В этом примере кода загружается локальный отчет и подготавливается к просмотру в элементе управления, а затем с помощью метода Render отчет экспортируется в формат Excel.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.Reporting.WinForms;
using System.IO;
namespace SampleCode
{
public partial class Form1 : Form
{
private DataTable LoadSalesData()
{
// Load data from XML file.
DataSet dataSet = new DataSet();
dataSet.ReadXml(@"c:\Reports\data.xml");
return dataSet.Tables[0];
}
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.reportViewer1.ProcessingMode = ProcessingMode.Local;
this.reportViewer1.LocalReport.ReportPath = @"c:\Reports\Report1.rdl";
reportViewer1.LocalReport.DataSources.Add(
new ReportDataSource("Sales", LoadSalesData()));
this.reportViewer1.RefreshReport();
}
private void button1_Click(object sender, EventArgs e)
{
Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string extension;
byte[] bytes = reportViewer1.LocalReport.Render(
"Excel", null, out mimeType, out encoding, out extension,
out streamids, out warnings);
FileStream fs = new FileStream(@"c:\output.xls", FileMode.Create);
fs.Write(bytes, 0, bytes.Length);
fs.Close();
MessageBox.Show("Report exported to output.xls", "Info");
}
}
}
Imports Microsoft.Reporting.WinForms
Imports System.IO
Public Class Form1
Private Function LoadSalesData() As DataTable
'' Load data from XML file
Dim dataSet = New DataSet
dataSet.ReadXml("c:\Reports\data.xml")
Return dataSet.Tables(0)
End Function
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ReportViewer1.ProcessingMode = ProcessingMode.Local
ReportViewer1.LocalReport.ReportPath = "c:\Reports\Report1.rdl"
Dim myDataSource = New ReportDataSource("Sales", LoadSalesData())
ReportViewer1.LocalReport.DataSources.Add(myDataSource)
Me.ReportViewer1.RefreshReport()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim warnings As Warning() = Nothing
Dim streamids As String() = Nothing
Dim mimeType As String = Nothing
Dim encoding As String = Nothing
Dim extension As String = Nothing
Dim bytes As Byte()
bytes = ReportViewer1.LocalReport.Render("Excel", Nothing, mimeType, _
encoding, extension, streamids, warnings)
Dim fs As New FileStream("c:\output.xls", FileMode.Create)
fs.Write(bytes, 0, bytes.Length)
fs.Close()
MessageBox.Show("Report exported to output.xls", "Info")
End Sub
End Class
См. также
Справочник
Класс LocalReport
Члены LocalReport
Пространство имен Microsoft.Reporting.WinForms