Поделиться через


Метод 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