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。