如何在同解决方案的Windows Forms中查看SSRS报表(.rdl)
在Windows应用项目中查看SSRS报表的实现方法
方法一:使用ReportViewer控件(推荐)
这是Windows应用集成SSRS报表最常用的方案,同时支持本地RDLC报表和远程SSRS服务器报表:
- 步骤1:添加ReportViewer控件
打开Visual Studio工具箱,找到ReportViewer控件(若未显示,右键工具箱选择「选择项」,勾选Microsoft.ReportViewer.WinForms),将其拖放到目标窗体上。 - 步骤2:关联报表
- 若为本地RDLC报表:把报表项目中的
.rdlc文件复制到Windows应用项目(或添加为文件链接),通过代码指定报表路径并绑定数据源:reportViewer1.LocalReport.ReportPath = @"Reports\MyReport.rdlc"; // yourDataTable为对应报表数据集的数据源 reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", yourDataTable)); reportViewer1.RefreshReport(); - 若为远程SSRS服务器报表:切换到服务器模式,配置报表服务器地址和报表路径:
reportViewer1.ProcessingMode = ProcessingMode.Remote; reportViewer1.ServerReport.ReportServerUrl = new Uri("http://你的SSRS服务器地址/ReportServer"); reportViewer1.ServerReport.ReportPath = "/你的报表项目名/目标报表名"; reportViewer1.RefreshReport();
- 若为本地RDLC报表:把报表项目中的
- 步骤3:补充必要引用
确保Windows应用项目已引用Microsoft.ReportViewer.WinForms和Microsoft.ReportViewer.Common程序集。
方法二:通过WebBrowser控件加载报表URL
如果报表已部署到SSRS服务器,可直接用WebBrowser控件打开报表的访问地址:
- 步骤1:在窗体上添加WebBrowser控件。
- 步骤2:设置导航地址为SSRS报表的访问URL,格式示例:
代码示例:http://你的SSRS服务器地址/Reports/Pages/Report.aspx?ItemPath=/你的报表项目名/目标报表名webBrowser1.Navigate("http://你的SSRS服务器地址/Reports/Pages/Report.aspx?ItemPath=/你的报表项目名/目标报表名");
注意事项
- 远程报表场景下,需确保Windows应用能访问SSRS服务器,且当前用户拥有报表查看权限。
- 本地报表需保证数据源结构与报表数据集完全匹配,否则会加载失败。
内容的提问来源于stack exchange,提问作者Nikunj Chovatiya
相关产品推荐
相关产品推荐

