DevExpress Office File API使用记录
目录1 RichEditorControl控件不包含Save类型事件2 Document和SubDocument关系3 如何在类库中使用DevExpress Office File API4 测试Demo创建记录4.1 创建类库4.2 创建Winform项目相关demohttps://download.csdn.net/download/mingjing941018/929636961 RichEditorControl控件不包含Save类型事件2 Document和SubDocument关系Document和SubDocument都是interfaceSubDocument是Document基类SubDocument定义了基本功能Document在其基础上定义了特定功能在正文的处理中只能使用Document对象针对页眉页脚的操作使用SubDocument对象可保证适用于正文的那些操作不会误操作到页眉页脚。3 如何在类库中使用DevExpress Office File API1.添加Nuget包DevExpress.Document.ProcessorDevExpress.RichEdit.Core2.示例代码/// summary /// 文档打开/保存/编辑 /// /summary public class DocumentService : IReportEditor, IDisposable { private readonly RichEditDocumentServer _server; public DocumentService() { _server new RichEditDocumentServer(); } /// summary /// 打开 Word 文档返回可编辑的文档流 /// /summary /// param namefilePath/param /// returns/returns public TaskStream OpenDocumentAsync(string filePath) { return Task.Run(() { _server.LoadDocument(filePath); var stream new MemoryStream(); _server.SaveDocument(stream, DocumentFormat.OpenXml); stream.Position 0; return (Stream)stream; }); } /// summary /// 从流创建新文档 /// /summary /// returns/returns public TaskStream CreateNewAsync() { return Task.Run(() { _server.CreateNewDocument(); var stream new MemoryStream(); _server.SaveDocument(stream, DocumentFormat.OpenXml); stream.Position 0; return (Stream)stream; }); } /// summary /// 保存文档 /// /summary /// param namedocumentStream/param /// param namesavePath/param /// returns/returns public Task SaveDocumentAsync(Stream documentStream, string savePath) { return Task.Run(() { documentStream.Position 0; _server.LoadDocument(documentStream, DocumentFormat.OpenXml); _server.SaveDocument(savePath, DocumentFormat.OpenXml); }); } /// summary /// 导出为 PDF /// /summary /// param namedocumentStream/param /// param namepdfPath/param /// returns/returns public Task ExportToPdfAsync(Stream documentStream, string pdfPath) { return Task.Run(() { documentStream.Position 0; _server.LoadDocument(documentStream, DocumentFormat.OpenXml); _server.ExportToPdf(pdfPath); }); } public void Dispose() { _server?.Dispose(); } }4 测试Demo创建记录4.1 创建类库创建类库项目目标框架.NET Standard 2.1在项目中引入包DevExpress.Document.Processor、DevExpress.RichEdit.Core和DevExpress.Xpo创建4个文件夹BlazorBlazor网站使用、Common公共类平台无关、Models实体对象类、WinWinform窗体应用使用在Models文件夹下创建TReportData类用以保存报告数据在Win文件夹下创建TReportEditorWin类用以和窗体类应用程序交互在TReportEditorWin类中添加域函数插入方法InsertVariableField和加载数据方法LoadData添加TReportTemplet数据实体保存模板二进制流数据在TReportEditorWin类中添加模板二进制流保存和获取方法在TReportEditorWin类中添加除指定域函数外其他部分不可编辑的设置方法ProtectDocumentExceptFields4.2 创建Winform项目创建窗体项目目标框架.NET 8.0注DevExpress项目主界面设置一系列功能按钮不同的按钮打开不同的界面模板编辑界面使用RichEditControl加CreateAllTabs在右侧留出一小块位置模拟域函数数据列表在模板编辑界面初始化时初始化模拟自定义域函数及其拖拽事件左键点击选择域函数行并拖动拖到RichEditor编辑区域松开将域函数插入到鼠标光标处在模板编辑界面加载报告模板时会将报告模板的二进制流数据保存到数据库中添加报告编辑界面用来加载模板合并数据进行报告信息编辑在报告编辑界面调用ProtectDocumentExceptFields设置报告那些部分可编辑目前整个文档禁止编辑尚未处理

相关新闻

洛雪音乐音源配置完全指南:5分钟打造你的专属无损音乐库 [特殊字符]

洛雪音乐音源配置完全指南:5分钟打造你的专属无损音乐库 [特殊字符]

洛雪音乐音源配置完全指南:5分钟打造你的专属无损音乐库 🎵 【免费下载链接】lxmusic- lxmusic(洛雪音乐)全网最新最全音源 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic- 还在为找不到好听的音乐而烦恼吗?想要免费享受全网无…

2026/7/26 6:26:41阅读更多 →
Minecraft服务器性能优化终极指南:用Spark快速解决卡顿问题

Minecraft服务器性能优化终极指南:用Spark快速解决卡顿问题

Minecraft服务器性能优化终极指南:用Spark快速解决卡顿问题 【免费下载链接】spark A performance profiler for Minecraft clients, servers, and proxies. 项目地址: https://gitcode.com/gh_mirrors/spark6/spark Spark 是一款专为Minecraft客户端、服务器…

2026/7/26 3:23:59阅读更多 →
Forza Mods AIO:地平线4和5的终极游戏增强工具全解析

Forza Mods AIO:地平线4和5的终极游戏增强工具全解析

Forza Mods AIO:地平线4和5的终极游戏增强工具全解析 【免费下载链接】Forza-Mods-AIO Free and open-source FH4 & FH5 mod tool 项目地址: https://gitcode.com/gh_mirrors/fo/Forza-Mods-AIO Forza Mods AIO是一款专为《极限竞速:地平线4》…

2026/7/26 9:27:52阅读更多 →
智慧校园系统后期维护费用高不高?签约前这笔账一定要算清

智慧校园系统后期维护费用高不高?签约前这笔账一定要算清

✅作者简介:合肥自友科技 📌核心产品:智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…

2026/7/26 20:35:41阅读更多 →
AccelStepper 步进电机控制库:高精度运动算法与多轴协同架构技术解析

AccelStepper 步进电机控制库:高精度运动算法与多轴协同架构技术解析

AccelStepper 步进电机控制库:高精度运动算法与多轴协同架构技术解析 【免费下载链接】AccelStepper Fork of AccelStepper 项目地址: https://gitcode.com/gh_mirrors/acc/AccelStepper AccelStepper 库为 Arduino 平台提供了基于 David Austin 实时速度曲线…

2026/7/26 20:35:41阅读更多 →
3分钟搞定所有图片格式:为什么你需要这款开源图片查看器?

3分钟搞定所有图片格式:为什么你需要这款开源图片查看器?

3分钟搞定所有图片格式:为什么你需要这款开源图片查看器? 【免费下载链接】ImageGlass 🏞 A fast, open-source, modern image viewer for 90 formats – including WEBP, GIF, SVG, AVIF, JXL, HEIC and more – built for smooth browsing …

2026/7/26 20:35:41阅读更多 →
AntiDupl.NET完整指南:智能图片去重工具的高效实战教程

AntiDupl.NET完整指南:智能图片去重工具的高效实战教程

AntiDupl.NET完整指南:智能图片去重工具的高效实战教程 【免费下载链接】AntiDupl A program to search similar and defect pictures on the disk 项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl 在现代数字生活中,我们每个人都会积累大…

2026/7/26 20:35:41阅读更多 →
GHelper:开源轻量化华硕笔记本控制中心,告别Armoury Crate臃肿体验

GHelper:开源轻量化华硕笔记本控制中心,告别Armoury Crate臃肿体验

GHelper:开源轻量化华硕笔记本控制中心,告别Armoury Crate臃肿体验 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt…

2026/7/26 20:35:41阅读更多 →
Langflow 系列 | 第 13 篇:lfx 执行内核:从 Flow JSON 到 Graph 运行

Langflow 系列 | 第 13 篇:lfx 执行内核:从 Flow JSON 到 Graph 运行

摘要 前几篇文章已经分别介绍了 Langflow 的后端入口、核心数据模型和服务层设计。到这里,我们已经知道: Flow 数据保存在数据库中。 API 路由负责接收运行请求。 服务层负责认证、授权、Job、变量、存储、缓存和观测。 组件定义了具体业务逻辑。 但还有一个关键问题没有展开…

2026/7/26 20:33:39阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/26 0:01:28阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/26 0:01:28阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/26 0:01:28阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/26 0:01:28阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/26 0:01:28阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/26 0:01:28阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/25 23:03:25阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/26 19:05:21阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/26 19:05:21阅读更多 →