报表生成器FastReport .Net如何使用WCF
FastReport .NET是适用于Windows Forms,ASP.NET,MVC和.NET Core的全功能报表解决方案。它可以在Microsoft Visual Studio 2005-2019中使用。支持.Net Framework 2.0-4.x,.NET Core 3.0及以上版本。
在FastReport .NET 2021.1的新版本中,我们实现了对.NET 5的支持。添加了新条形码-Deutsce Post Leitcode。将RTF转换为报告对象的算法已得到显着改进。并且还添加了用于转换数字的新功能。慧都网欢迎下载体验。
WCF服务库 FastReport.Service.dll
FastReport .NET包含库FastReport.Service.dll(仅在.NET 4.0包中).该库是一个WCF服务库,旨在用于执行服务功能的自定义应用程序。
![](https://image.evget.com/attachment/keditor/image/20210323/20210323092656_85696.png)
该库包含以下功能:
List<ReportItem> GetReportsList();
返回可用报表的列表。每个项目都作为ReportItem对象返回。报告存储在运行该服务的服务器的硬盘上。文件是按字母顺序排列的。
List<ReportItem> GetReportsListByPath(string path);
按路径返回可用报告的列表。文件是按字母顺序排列的。
List<GearItem> GetGearList();
返回可用的格式列表,这些格式可以作为元素GearItem生成服务报告。
Stream GetReport(ReportItem report, GearItem gear);
返回一个建立报告的结果流。参数 "report "和 "gear "可以从之前获得的列表中使用,也可以通过创建具有所需属性的新对象。返回的流不支持定位。
我们来看看列表元素。
ReportItem
public ReportItem { public string Path; public string Name; public string Description; public string Name; public string Description; public Dictionary<string, string> Parameters; public string Name; public string Description。 public Dictionary<string, string> Parameters; }
路径 - 服务器上报告文件的路径,相对于存储报告的根文件夹。报告的文件扩展名必须是*.frx。此属性用于通过进一步查询来识别特定的报告名称,取自报告的元数据。如果报表的元数据包含一个空的名称,那么该属性包含一个没有扩展名的文件名。该属性可用于在您的应用程序中建立一个可用报表的交互式列表(例如:在ListBox中)。
Description - 报表的描述,取自报表的元数据。Dictionary<string, string> Parameters - 报表参数的字典,可以是填充参数,这些参数将随后转移到报表中。它只支持设计报表模板时必须考虑的字符串值。
GearItem
public class GearItem { public string Name; public Dictionary<string, string> Properties; }
Name - 格式的名称:可以包含以下字符串之一:
![](https://image.evget.com/attachment/keditor/image/20210323/20210323093426_59707.png)
Dictionary<string, string> 属性 - 报告的参数字典。支持的参数的完整列表和默认值可在请求服务器列出格式时获得。
当创建服务时,你必须在App.config或Web.config中添加以下行:
<appSettings> <add key="FastReport.ReportsPath" value="C:/Program files/FastReports/FastReport.Net/Demos/WCF" />。 <add key="FastReport.ConnectionStringName" value="FastReportDemo" />。 <add key="FastReport.Gear" value="PDF,DOCX,XLSX,PPTX,RTF,ODS,ODT,MHT,CSV,DBF,XML,TXT,FPX" />。 </appSettings>
FastReport.ReportsPath--指定装有报表的文件夹的路径,这些报表的列表将被传送到客户端。
FastReport.ConnectionStringName--连接数据库的连接字符串的名称,它存储在配置部分<connectionStrings>中。用于替换报表模板中的内部连接字符串。
FastReport.Gear - 可用格式的列表。你可以只选择那些需要的格式,并改变名称的顺序。
FastReport.Service的使用示意图:
![](https://image.evget.com/attachment/keditor/image/20210323/20210323093525_32705.png)
而且,如果你已经确切地知道要报告的内容和以何种格式接收它(这减少了对服务的查询次数)。
![](https://image.evget.com/attachment/keditor/image/20210323/20210323093545_74417.png)
当你创建用于服务的报告模板时,需要注意的重要事项:
- 不支持报告中的对话框,将被忽略。
- 每个报表必须包含一个内部DataConnection,其报表服务的连接字符串由配置中的字符串代替。
FastReport.Service.dll的使用示例可以在文件夹\Demos\C#/WCFWebService , \Demos\C#/WCFWindowsService中找到。
\Demos/C#/WCFWebClient,Demos/C#/WCFClient。
一个配置文件服务的例子 - FastReport.Service.dll.config。