我们在mvc.net应用程序中使用rdlc报告。当渲染该报告花费超过5分钟时,我们能够以几秒钟的速度获取数据。我们在Crystal报表中使用了相同的报表,只需1分钟即可呈现该报表。但是,我们在报告中使用了分组,但我认为rdlc报告应该比水晶报告更快。您能否提出任何改善本报告绩效的想法。
reportViewer.LocalReport.Refresh();
reportViewer.ProcessingMode = ProcessingMode.Local;
reportViewer.SizeToReportContent = true;
reportViewer.AsyncRendering = true;
reportViewer.SizeToReportContent = true;
reportViewer.Width = U`enter code here`nit.Pixel(350);
reportViewer.Height = Unit.Pixel(50);
ReportDataSource reportDataSource = new ReportDataSource();
reportDataSource.Name = "DataSet";
reportDataSource.Value = result;
reportViewer.LocalReport.ReportPath = Request.MapPath(Request.ApplicationPath) + @"\ReportsrptReport.rdlc";
reportViewer.LocalReport.DataSources.Add(reportDataSource);
reportViewer.LocalReport.Refresh();
bytes = reportViewer.LocalReport.Render("PDF", null, out mimeType, out encoding, out filenameExtension, out streamids, out warnings);
TempData["FileData"] = bytes;
TempData["MimeType"] = mimeType;
TempData["FileName"] = fileName;
return File(bytes, mimeType, fileName);
答案 0 :(得分:0)
rdlc performance blog for more details
希望这会对你有所帮助。
答案 1 :(得分:0)
经过我 5 个月的调查,没有办法以可接受的速度水平提高 RDLC 的性能。 RDLC 是为简单的报告创建的,例如收据和发票。如果报表页数大于 100 且没有任何内部表达式,或大于 50 页具有动态内部表达式,则使用 html 是可接受的加载和呈现速度的最佳选择。