Microsoft LocalReport (rdl) in ASP.NET Core MVC App



我正在使用 ASP.NET 核心(2.1(MVC运行一个项目。在我们公司,我们确实使用SQL报表生成器(rdlc和rdl文件(做了很多工作。因此,我们希望使用"一个动态"机制,在 asp.net 核心 mvc Web 应用程序中使用 ReportBuilder 技术生成 PDF 文件。

我尝试了我们在.net Framework(asp.net API和桌面应用程序(中使用的相同nuget包,但它们不起作用。我尝试的软件包是:

  • Microsoft.ReportingServices.ReportViewerControl.Winforms
  • Microsoft.ReportingServices.ReportViewerControl.WebForms

问题是他们正在使用 System.Web,我不能包含在 .net Core 应用程序中,对吗?

我在谷歌上搜索了任何解决方案,但没有找到很多有用的材料。我也知道Microsoft购买了产品来完成工作: https://blogs.msdn.microsoft.com/sqlrsteamblog/2018/04/02/microsoft-acquires-report-rendering-technology-from-forerunner-software/

我已经读过这篇关于类似问题的文章: 用于 ASP.NET 核心和角度的RDLC本地报告查看器(>2.0(

我们是否想到了错误的技术设置,或者这甚至根本不支持。我发现了一些其他包(https://www.nuget.org/packages/AlanJuden.MvcReportViewer.NetCore/(,它们正在使用html来呈现报表。但我们真的想使用 rdl 文件

任何信息和建议将不胜感激。

最后我们想出了一个完全不同的方法。

我们刚刚在 .NET Framework 上创建了一个名为"DocumentService"的新应用程序,作为 Windows Server 上的服务运行。该服务正在检查数据库队列中是否有新作业,如果有,它将生成 pdf 结果并将其存储在数据库中。

因此,Web 应用程序不再负责创建 pdf,它只是在数据库中添加了一个新行,以便标记应创建新文档。然后,文档服务应用生成文档,Web 应用可以访问数据库中的数据。

我们可以在应用程序环境的其他部分使用此"文档服务",因此 effor 是值得的。它的应用程序也是多线程的,运行速度非常快。

不,您不能包含 System.Web。我遇到了同样的问题,并使用AspNetCore.Reporting解决了它。可以从 NuGet 下载此内容。这可能很有用:https://www.dotnetcurry.com/aspnet/844/aspnet-ssrs-reports-programmatically-html

嗯,取决于。如果您希望它在应用程序中,并且不介意在 iframe 中生成报告,这是可能的。或者,您始终可以在新选项卡中打开它。唯一的问题是您必须知道报告的链接。我在公司的计划中就是这样做的。如果您想了解更多信息,请问我,但正式 ASP.NET Core不支持报告

最新更新