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