WCF服务库FastReport.Service.dll
FastReport .NET 包含库 FastReport.Service.dll(仅在 .NET 4.0 包中)。该库是 WCF 服务库,旨在用于执行服务功能的自定义应用程序。
该库包含以下函数:
List<ReportItem> GetReportsList();
点击复制
返回可用报告的列表。每个项目都作为 ReportItem 对象返回。报告存储在运行该服务的服务器的硬盘上。文件按字母顺序排序。
List<ReportItem> GetReportsListByPath(string path);
点击复制
List<GearItem> GetGearList();
点击复制
Stream GetReport(ReportItem report, GearItem gear);
点击复制
返回构建报告的结果流。参数“report”和“gear”可以从先前获得的列表中使用,或者通过创建具有所需属性的新对象来使用。返回的流不支持定位。
让我们看看列表元素。
报告项目
public class ReportItem { public string Path; public string Name; public string Description; public Dictionary<string, string> Parameters; }
点击复制
路径 – 服务器上报告文件的路径,相对于存储报告的根文件夹。报告的文件扩展名必须是*.frx。该属性用于识别具有进一步查询的特定报告。
名称 – 报告的名称,取自报告的元数据。如果报告的元数据包含空名称,则该属性包含不带扩展名的文件名。此属性可用于在应用程序中构建可用报告的交互式列表(例如:在列表框中)。
描述 – 报告的描述,取自报告的元数据。
Dictionary<string, string> 参数 – 报表参数字典,可以是填充参数,随后将传输到报表中。它仅支持设计报告模板时必须考虑的字符串值。
装备物品
public class GearItem { public string Name; public Dictionary<string, string> Properties; }
点击复制
名称 – 格式名称:可能包含以下字符串之一:
姓名 | 描述 |
---|---|
Adobe Acrobat 文件 | |
DOCX | 微软Word 2007文件 |
XLSX | Microsoft Excel 2007 文件 |
PPTX | 微软PowerPoint 2007文件 |
RTF | 富文本文件 – 许多文本编辑器都支持 |
消耗臭氧层物质 | 打开 Office 电子表格文件 |
ODT | 打开 Office 文本文件 |
甲基HT | 压缩的 HTML 文件与图像一起,可以在 Internet Explorer 中打开 |
CSV | 逗号分隔值文件 |
数据库文件 | 数据库文件 |
XML | Excel XML 表格 – 无图像 |
TXT | 文本文件 |
FPX | FastReport.Net 准备好的报告文件 |
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 – 数据库的连接字符串名称,存储在配置节中。用于替换报告模板中的内部连接字符串。
FastReport.Gear – 可用格式列表。您可以仅选择所需的名称并更改名称的顺序。
FastReport.Service使用示意图:
而且,如果您已经确切知道要报告的内容以及以哪种格式接收报告(这会减少对服务的查询数量):
创建在服务中使用的报告模板时需要注意的要点:
-
报告中的对话框不受支持,将被忽略;
-
每个报表必须包含一个内部 DataConnection,其报表服务的连接字符串将替换为配置中的字符串。
FastReport.Service.dll 的使用示例可以在文件夹 \Demos\C#\WCFWebService 、 \Demos\C#\WCFWindowsService 、 \Demos\C#\WCFWebClient 、 \Demos\C#\WCFClient 中找到。
示例配置文件服务 - FastReport.Service.dll.config。