翻譯|使用教程|編輯:龔雪|2023-10-11 10:09:12.373|閱讀 96 次
概述:本文將為大家介紹如何使用DevExpress Reporting控件在macOS等系統中生成導出報表文檔,歡迎下載組件體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
DevExpress Reporting是.NET Framework下功能完善的報表平臺,它附帶了易于使用的Visual Studio報表設計器和豐富的報表控件集,包括數據透視表、圖表,因此您可以構建無與倫比、信息清晰的報表。
在本文中,我們將討論如何在.NET MAUI項目中合并DevExpress Reports和Blazor Report Viewer(報表查看器)。
在開始之前,提醒一下因為新的DevExpress.Drawing圖形渲染引擎,我們的.NET Reporting工具不再依賴GDI+,這種與GDI+的分離允許您在新的平臺上部署由DevExpress Reports驅動的應用程序,包括 .NET MAUI,在這個新的/新興的平臺上有以下功能:
接下來,讓我們深入研究并將DevExpress Reports集成到.NET MAUI項目中。
獲取DevExpress Reporting v23.1正式版下載
DevExpress技術交流群9:909157416 歡迎一起進群討論
DevExpress Visual Studio Report Designer(報表設計器)分析項目引用和依賴關系,并根據收集的數據啟動單獨的后臺進程。在測試期間,.NET MAUI與其他應用程序類型相比存在項目結構差異。由于這個問題,Visual Studio的DevExpress報表設計器無法立即集成到.NET MAUI項目中。
要在 .NET MAUI應用程序中創建和編輯報表,建議您在單獨的類庫中創建和存儲報表,然后在.NET MAUI項目中引用該庫。添加一個新的報表:
1. 按CTRL+SHIFT+A或在Visual Studio菜單中點擊Project | Add New Item。
2. 選擇DevExpress Report項目,指定一個報表名稱,然后點擊Add。
3. 在Report Wizard(報表向導)中選擇報表類型然后點擊Finish,如果要從頭創建報表請選擇Blank。
完成后,Visual Studio報表設計器將出現在屏幕上:
如果您的應用需要在.NET MAUI中顯示報表預覽(在打印輸出或導出操作之前),可以使用DevExpress Blazor報表查看器。為了整合Blazor報表查看器,首先需要創建一個.NET MAUI Blazor混合應用程序,引用所需的包,并將WebAssembly (Native)組件的報表查看器添加到Razor頁面。
要從.NET MAUI Blazor應用程序中導出和共享報表,您需要自定義DevExpress報表查看器的導出過程。要定制導出過程,實現IExportProcessor接口(授予您訪問包含文檔數據的字節數組的權限)。完成后使用.NET MAUI的內置IShare接口,該接口包含一個API,用于向設備共享功能發送數據(如文本或web鏈接)。
下面的代碼片段共享一個文件:
public class SharedReportExportProcessor : IExportProcessor { public async Task ProcessExportResult(ExportResultItem exportResultItem, bool isPrintOperation) { var fileName = Path.Combine(FileSystem.CacheDirectory, exportResultItem.FileName); using (var file = File.Create(fileName)) { file.Write(exportResultItem.Bytes); } await Share.Default.RequestAsync(new ShareFileRequest { Title = "Share a Report", File = new ShareFile(fileName) }); } }
如果以這種方式實現,當您選擇所需的導出格式時,共享窗口將打開并提示用戶選擇要共享的應用程序。
請注意,安裝在開發機器上的字體集與移動設備上的字體集不同。如果在系統中找不到報表中使用的字體,則文本裝飾可能會恢復到默認的Open Sans字體。
要在部署的應用程序中維護報表的外觀,首先需要調用MauiProgram類中的方法。
下一步是使用DXFontRepository類注冊報告中使用的字體,DevExpress.Drawing程序集使用此字體字典在文檔呈現期間解析字體,在ConfigureFonts方法調用之后使用以下代碼片段:
using (StreamReader rd = new StreamReader(Assets.Open("Arial.ttf"))) { using (var ms = new MemoryStream()) { rd.BaseStream.CopyTo(ms); DXFontRepository.Instance.AddFont(ms); } }
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網