Метод LocalReport.Render (String, String, out String, out String, out String, out String[], out Warning[])
Обрабатывает отчет и готовит его к просмотру в заданном формате.
Пространство имен: Microsoft.Reporting.WebForms
Сборка: Microsoft.ReportViewer.WebForms (в microsoft.reportviewer.webforms.dll)
Синтаксис
'Декларация
'Применение
параметры
- format
Формат, в котором отчет готовится к просмотру. Этот аргумент соответствует модулю подготовки отчетов. Поддерживаются форматы Microsoft Office Excel, PDF и IMAGE.
- deviceInfo
XML-строка, содержащая сведения об устройствах, которые необходимы для модуля подготовки отчетов, заданного в параметре format. Дополнительные сведения о настройках сведений об устройстве для различных форматов вывода см. в разделе «Настройки сведений об устройстве» электронной документации по SQL Server.
- mimeType
[выход] Тип MIME готового к просмотру отчета.
- encoding
[выход] Кодировка, используемая для подготовки к просмотру содержимого отчета.
- fileNameExtension
[выход] Расширение, используемое для имени выходного файла.
- streams
[выход] Идентификаторы потоков. Их можно использовать для подготовки к просмотру внешних ресурсов (например, изображений), которые связаны с отчетом.
- warnings
[выход] Массив объектов Warning, описывающий предупреждения, созданные во время обработки отчета.
Возвращаемое значение
Массив Byte отчета в указанном формате.
Замечания
Метод Render можно использовать для экспорта и печати отчета.
Примеры
Следующие образцы кода описывают приложение веб-формы с элементом управления ReportViewer, кнопкой и меткой. В этом примере кода локальный отчет загружается и подготавливается к просмотру в элементе управления, а потом используется метод Render, чтобы экспортировать отчет в формате Excel.
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Microsoft.Reporting.WebForms;
using System.IO;
public partial class _Default : System.Web.UI.Page
{
private DataTable LoadSalesData()
{
// Load data from XML file.
DataSet dataSet = new DataSet();
dataSet.ReadXml(@"c:\Reports\data.xml");
return dataSet.Tables[0];
}
protected void Page_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()));
}
protected 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();
Label1.Text = "Report exported to output.xls";
}
}
Imports System.IO
Imports System.Data
Imports Microsoft.Reporting.WebForms
Partial Class _Default
Inherits System.Web.UI.Page
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
Protected Sub Page_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Load
ReportViewer1.ProcessingMode = ProcessingMode.Local
ReportViewer1.LocalReport.ReportPath = _
"c:\Reports\Report1.rdl"
Dim myDataSource = New ReportDataSource("Sales", _
LoadSalesData())
ReportViewer1.LocalReport.DataSources.Add(myDataSource)
End Sub
Protected Sub Button1_Click(ByVal sender As 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:\outputvb.xls", FileMode.Create)
fs.Write(bytes, 0, bytes.Length)
fs.Close()
Label1.Text = "Report exported to output.xls"
End Sub
End Class
См. также
Справочник
Класс LocalReport
Члены LocalReport
Пространство имен Microsoft.Reporting.WebForms