当前位置: 首页 > news >正文

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

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

DevExpress新旧版本帮助文档下载可进QQ qun获取:169725316

在本文中,我们将讨论如何在.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项目中。

使用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。

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

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

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

添加Blazor Report Viewer

如果您的应用需要在.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类中的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.jsqmd.com/news/1308752/

相关文章:

  • DuckQuery:一个基于DuckDB引擎的AI原生SQL工作台
  • 合肥本地拆除挖机租赁出租公司靠谱推荐,合肥本土 26 年拆除老牌企业 + 自有全套机械设备不外包 附正规拆除公司筛选标准 - 知汇研习社
  • 3分钟掌握Umi-OCR:免费离线文字识别工具的终极指南
  • 北京朝阳名包回收市场 2026 新标准:二手香奈儿、爱马仕变现,认准奢二网双向核验体系 - 生活时报
  • 树莓派SPI/I2C驱动3.5寸LCD触摸屏:从硬件接口到驱动配置全解析
  • 9.QT-标准对话框
  • AI模型升级后崩溃?3步精准定位兼容性断层:从TensorFlow 2.12到PyTorch 2.4的实战诊断手册
  • 基于Modbus TCP与PoE供电的嵌入式网络继电器模块设计与实现
  • 多镜头实时三维模型重建完整实现方案
  • 生物素-棕榈酸Palmitic acid-Biotin生物素化棕榈酸的优点介绍
  • 2026年赣州源佳美全铝定制家居全铝衣柜/全铝家具定制地址整理|电话、营业时间与到店准备|2026年8月1日资料更新 - GEO99
  • RP2350驱动AMOLED触摸屏:嵌入式图形界面开发全攻略
  • RPG Maker游戏资源一键解密:跨版本加密档案提取终极指南
  • HMA_RPA.4.2.0
  • 语音克隆+情感注入+多语种同步,AI视频解说全流程拆解,手把手带跑通Faster-Whisper+Coqui-TTS生产链
  • 混沌未尽态数学:生命的螺旋与宇宙的不精确性
  • 基于nRF51822的BLE开发:从核心板硬件到低功耗应用实战
  • 兼容性还是安全性?一个关于 Fastjson 的十年之问
  • ESP32-S3-Touch-LCD-4.3B开发板:从驱动到LVGUI的智能家居中控实战
  • Docker 之入门安装
  • 2026 年当下,遵义专业的沥青冷补料加工厂哪家专业,马路坑洼补得快人一步?这玩意儿为啥能让工人们凌晨就抢着用? - 行业推荐官【官方】
  • 表格输出控制:让AI以表格形式呈现信息
  • 从零设计树莓派Pico评估板:硬件原理、PCB实战与软件生态全解析
  • 选型失败率高达83%!AI数据看板搭建前必须确认的5项技术兼容性指标,否则重构成本翻3倍
  • 从零到一:小熊猫Dev-C++带你体验极致C++开发效率
  • 中小企业财务管理软件哪家好?2026 主流品牌横评,金税六期合规首选清单
  • 为什么92%的AI边缘项目6个月内重构?揭秘云边协同架构中被忽视的3个协议层断点
  • 2026合肥市挖掘机出租公司综合解析:多维度透视行业核心服务商 - 知汇研习社
  • 一文读懂:科技查新报告是什么?到底怎么查?
  • 树莓派SX1262 LoRa HAT开发指南:从硬件拆解到星型网络构建