ReportViewer Render() 直接导出到文件流

本文关键字:文件 Render ReportViewer | 更新日期: 2023-09-27 18:33:59

我想使用 ReportsViewer Render() 方法将 reprot 直接导出到文件流中。我在本地模式下使用报表查看器。

这是根据 MSDN 的方法声明

byte[] Render (
    string format,
    string deviceInfo,
    out string mimeType,
    out string encoding,
    out string fileNameExtension,
    out string[] streams,
    out Warning[] warnings
)

这种方法的问题在于 te byte[] 被写入内存,然后由我写入文件。对于一个非常大的报告,内存中的数据太多,可能会导致生产系统上出现内存不足异常。有没有办法使报表直接呈现到文件中?谢谢。

ReportViewer Render() 直接导出到文件流

这个渲染重载可以解决问题

public void Render (
    string format,
    string deviceInfo,
    CreateStreamCallback createStream,
    out Warning[] warnings
)

MSDN 链接 - http://msdn.microsoft.com/en-us/library/ms252172%28v=vs.90%29.aspx