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

news/2025/2/23 9:03:02

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正式版下载(Q技术交流: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);
}
}


http://www.niftyadmin.cn/n/5090489.html

相关文章

生物标志物发现中的无偏数据分析策略

目录 0. 导论基本概念 1. 生物标志物发现的注意事项2. 数据预处理2.1 高质量原始数据和缺失值处理2.2 数据过滤2.3 数据归一化 3. 数据质量评估3.1 混杂因素3.2 类别分离3.3 功效分析3.4 批次效应 4. 生物标志物发现4.1 策略4.2 数据分析工具4.3 模型优化策略 0. 导论 组学技术…

用手势识别来测试视力?试试用百度AI来实现想法

文章目录 ⭐ 前言⭐ 灵感来源⭐ 项目准备⭐ 项目实现⭐ 不足与展望 ⭐ 前言 10月17日,以“生成未来(PROMPT THE WORLD)”为主题的百度世界2023将在北京首钢园举办。百度创始人、董事长兼首席执行官李彦宏将带来以“手把手教你做AI原生应用”…

Linux shell编程学习笔记12:布尔运算和逻辑运算

Linux Shell 脚本编程和其他编程语言一样,支持算数、关系、布尔、逻辑、字符串、文件测试等多种运算。前面几节我们陆续研究了 Linux shell编程 中的 字符串运算、算术运算和关系运算,今天我们来研究 Linux shell编程中的的布尔运算、逻辑运算。 一、…

001数据安全传输-多端协议传输平台:Openssl安装和配置 - EVP代码测试

001数据安全传输-多端协议传输平台:Openssl安装和配置 - EVP代码测试 文章目录 001数据安全传输-多端协议传输平台:Openssl安装和配置 - EVP代码测试1. 安装1.1 windows下安装openssl1.2 Linux下安装OpenSSL 2. VS中使用openssl3. 测试 1. 安装 1.1 win…

无声的世界,精神科用药并结合临床的一些分析及笔记(八)

目录 引子 祸不单行 舒必利 第五次住院 躁狂 心境稳定剂 碳酸锂 阿立哌唑 丙戊酸钠缓释片 小结 引子 办理出院的时候,多和病人家属聊了一会儿,她从病房里缓缓的走出来,呆呆的望着我,说了一句:“你别不要我了…

从零开始的stable diffusion

stable diffusion真的是横空出世,开启了AIGC的元年。不知你是否有和我一样的困惑,这AI工具好像并不是那么听话? 前言 我们该如何才能用好stable diffusion这个工具呢?AI究竟在stable diffusion中承担了什么样的角色?如…

【Java学习之道】线程的概念与作用

引言 今天我们将探索多线程编程的基础概念和作用。对于初学者来说,掌握多线程编程是迈向Java高级技能的重要一步。通过本章的学习,你将了解线程是什么以及它在程序开发中的重要性,为你进一步深入学习和实际工作打下坚实的基础。让我们一起来…

芯片学习记录TLP104

TLP104 芯片介绍 引脚信息 引脚1阳极3阴极4GNDGND5输出6VCC5V(4.5~30) 推荐使用条件 *此项目表示操作范围,而不是建议的操作条件。 注:建议的操作条件作为设计指南,以获得预期的性能设备。此外,每个项目…