首页 > 其他分享 >DevExpress Reporting中文教程 - 如何在macOS等系统中生成导出报表文档

DevExpress Reporting中文教程 - 如何在macOS等系统中生成导出报表文档

时间:2023-10-12 09:34:24浏览次数:49  
标签:macOS 报表 DevExpress Reporting 应用程序 MAUI NET Blazor

DevExpress Reporting是.NET Framework下功能完善的报表平台,它附带了易于使用的Visual Studio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表。

在本文中,我们将讨论如何在.NET MAUI项目中合并DevExpress Reports和Blazor Report Viewer(报表查看器)。

在开始之前,提醒一下因为新的DevExpress.Drawing图形渲染引擎,我们的.NET Reporting工具不再依赖GDI+,这种与GDI+的分离允许您在新的平台上部署由DevExpress Reports驱动的应用程序,包括 .NET MAUI,在这个新的/新兴的平台上有以下功能:

  • 在运行时创建报表文档
  • 将报表导出为可用格式
  • 在单独的类库项目的Visual Studio报表设计器中创建报表
  • 使用DevExpress Blazor报表查看器在.NET MAUI Blazor应用程序中显示报表的打印预览

接下来,让我们深入研究并将DevExpress Reports集成到.NET MAUI项目中。

获取DevExpress Reporting v23.1正式版下载

DevExpress技术交流群9:909157416      欢迎一起进群讨论

使用Visual Studio报表设计器

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。

DevExpress Reporting产品图集

2. 选择DevExpress Report项目,指定一个报表名称,然后点击Add。

DevExpress Reporting产品图集

3. 在Report Wizard(报表向导)中选择报表类型然后点击Finish,如果要从头创建报表请选择Blank。

DevExpress Reporting产品图集

完成后,Visual Studio报表设计器将出现在屏幕上:

DevExpress Reporting产品图集
添加Blazor Report Viewer

如果您的应用需要在.NET MAUI中显示报表预览(在打印输出或导出操作之前),可以使用DevExpress Blazor报表查看器。为了整合Blazor报表查看器,首先需要创建一个.NET MAUI Blazor混合应用程序,引用所需的包,并将WebAssembly (Native)组件的报表查看器添加到Razor页面。

DevExpress Reporting产品图集

要从.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类中的ConfigureFonts方法。

下一步是使用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);
}
}

更多DevExpress线上公开课、中文教程资讯请上中文网获取

标签:macOS,报表,DevExpress,Reporting,应用程序,MAUI,NET,Blazor
From: https://www.cnblogs.com/AABBbaby/p/17758720.html

相关文章

  • macOS Ventura配置ssh/key无效的问题记录
    内容转载自https://cloud.tencent.com/developer/article/2149714此处仅做个人记录问题描述工作电脑是macOSVentura,需要连接gitlab仓库,下载安装git并初始化配置后,按照操作生成SSHkey后,连接远程仓库仍然报错提示Permissiondenied(publickey)。定位问题经过查证,macOS......
  • 界面组件DevExpress WPF v23.1 - 进一步升级数据处理能力
    DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。无论是Office办公软件的衍伸产品,还是以数据为中心......
  • 界面组件DevExpress WinForms v23.2新功能预览 - 增强MVVM相关功能
    本文主要描述了DevExpressWinForms即将在几个月之后发布的v23.2中包含的新功能,持续关注我们获取更多最新资讯哦~DevExpressWinForms有180+组件和UI库,能为WindowsForms平台创建具有影响力的业务解决方案。同时能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,......
  • 界面控件DevExpress WPF地图组件,助力轻松搭建自己的地图数据服务器!
    DevExpressWPF Map控件允许用户在WPF应用程序中合并所有流行的地图服务,如Bing或OpenStreetMap。您还可以在公司网络中创建自己的地图数据服务器,Map组件完全支持矢量和笛卡尔坐标地图,以及Bing地理代码、搜索、路线和海拔服务。P.S:DevExpressWPF拥有120+个控件和库,将帮助您交付......
  • 界面组件DevExpress WinForms v23.1 - TreeList、UI模板全新升级
    DevExpressWinForms拥有180+组件和UI库,能为WindowsForms平台创建具有影响力的业务解决方案。DevExpressWinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!DevExpressWinForm 控件已正式发布v23.1版本,此版......
  • macOS上proxychains使用注意事项
    在使用brew安装的proxychains的时候,配置文件位于/usr/local/etc/proxychains在高版本macos上,默认启用了SIP保护,所以/usr/bin/目录下的文件无法使用proxychains解决办法:3.1关闭SIP保护首先重启Mac,按住Option键进入启动盘选择模式按⌘+R进入Recovery模式在屏幕的最......
  • VMware ESXi 7.0 U3o macOS Unlocker & OEM BIOS 标准版和厂商定制版
    VMwareESXi7.0U3omacOSUnlocker&OEMBIOS标准版和厂商定制版ESXi7.0标准版和Dell(戴尔)、HPE(慧与)、Lenovo(联想)、Inspur(浪潮)、Cisco(思科)定制版镜像请访问原文链接:https://sysin.org/blog/vmware-esxi-7-u3-oem/,查看最新版。原创作品,转载请保留出处。作......
  • VMware ESXi 7.0 U3o macOS Unlocker & OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动
    VMwareESXi7.0U3omacOSUnlocker&OEMBIOS集成网卡驱动和NVMe驱动(集成驱动版)ESXi7U3标准版集成Intel网卡、RealtekUSB网卡和NVMe驱动请访问原文链接:https://sysin.org/blog/vmware-esxi-7-u3-sysin/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.o......
  • 在不受支持的 Mac 上安装 macOS Sonoma (OpenCore Legacy Patcher)
    在不受支持的Mac上安装macOSSonoma、Ventura、Monterey、BigSur(OpenCoreLegacyPatcher)InstallmacOSonunsupportedMacs请访问原文链接:https://sysin.org/blog/install-macos-14-on-unsupported-mac/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgmacOS......
  • 【MacOs】 安装 MariaDB
    1安装MairaDB在MacOS的终端上执行如下命令就可以安装MariaDB:brewinstallmariadb 如果希望启动MariaDB服务器:brewservicesstartmariadb 这个命令也设置每次重新启动电脑,自动启动MariaDB服务。如果希望关闭MariaDB服务器,可以使用命令:brewservice......