UI 中的 RDLC 导出到 excel 功能

RDLC export to excel functionality in the UI

最初我需要在 .NET 中以 RDLC 作为参考在 aspx 页面中显示报告。

这就是我所做的:我制作了整个流程,在执行数据库操作后,我应用程序中的进程层只是 returns 到 aspx 页面的字节 [] 而不是 LocalReport/ReportViewer 对象。在 aspx 页面中,我将数据呈现为 Response.BinaryWrite().

但是有一个新的要求。在 UI 中呈现的报告应该具有导出到 excel 的功能。当我向 UI 返回一个字节 [] 时,IE 中的页面将作为 pdf 页面打开。所以我无法理解如何实现导出到 excel 按钮。

我进一步尝试通过引入用户控件来实现它,但事情变得更加复杂。

遇到这种情况怎么办?

3 年前我有一个非常相似的要求。我记得面临的最大问题是 RDLC 导出到 excel 受到我被迫处理的 .net 版本 的限制。我记得申请是在 Visual Studio 2008,所以我猜我 before .net 4.0

  1. 不要使用 RDLC(客户端免费版本不像带有 SSRS 的 RDL 那样健壮) 或者
  2. 添加移植到 NPOI 库使用 这个 导出到 Excel ,那个 IS 顺便说一句 https://npoi.codeplex.com/

将报告的呈现格式更改为 Excel。 Supported extensions are Excel, PDF, Word, and Image.

 byte[] bytes = ReportViewer1.LocalReport.Render( "Excel", null, 
                   out mimeType, out encoding,  out extension, 
                   out streamids, out warnings);

现在很容易了。创建一个页面仅供查看报告之用。

http://www.aspsnippets.com/Articles/How-to-create-RDLC-report-step-by-step-in-ASPNet-using-C-and-VBNet.aspx

Syncfusion Essential Report Viewer可用于输出RDLC到Excel.

Example

如果您符合条件(收入低于 100 万美元),则可以通过 community license 免费获得整个产品,没有任何限制。

注:我为 Syncfusion 工作

答案很简单。那时我是新手。 设计一个带有reportviewer 控件的aspx 页面。通过代码设置报表查看器控件路径、数据集。 Microsoft 的报表查看器控件具有导出功能。还有一种方法可以限制导出选项。您可以限制它以您自己的自定义文件类型集导出报告。 但要注意刷新按钮的功能。如果不需要,请隐藏该按钮。使用刷新按钮,如果数据集从数据库中检索值,可能会降低应用程序性能。