如何在 C# 中将文本转换为 Word 以及将 Word 转换为文本 - 教程

news/2025/9/21 21:13:09/文章来源:https://www.cnblogs.com/wzzkaifa/p/19104173

在现代软件开发中,处理文档内容是一个非常常见的需求。无论是生成报告、存储日志,还是处理用户输入,开发者都可能需要在纯文本与 Word 文档之间进行转换

  • 有时需要将文本转换为 Word,以便生成结构化的 .docx 文件,使内容更易于阅读、打印或分享。
  • 有时需要将 Word 文档转换为文本,以便进行内容分析、搜索索引或数据处理。

通过掌握这两种转换方法,开发者可以更高效地处理各种文档场景,提高应用程序的灵活性。

本文将介绍如何使用 Free Spire.Doc for .NET 在 C# 中完成以下操作:

  • 将文本字符串转换为 Word 文档
  • 将文本文件转换为 Word 文档
  • 将 Word 文档转换为文本文件

前提条件

  • 开发环境:Visual Studio 或任意 C# IDE
  • :Free Spire.Doc for .NET

可以通过 NuGet 安装 Free Spire.Doc:

Install-Package FreeSpire.Doc

提示:Free Spire.Doc 适合基本文档处理需求(每个文档不超过500个段落和25个表格),如果需要处理更大的文档,可选择商业版本。


在 C# 中将文本转换为 Word

处理纯文本时,通常有两种情况:

  1. 文本已经在内存中,例如来自用户输入或程序生成的字符串。
  2. 文本存储在 .txt 文件中,需要将其转换为 Word 文档。

将文本字符串转换为 Word

using Spire.Doc;
using Spire.Doc.Documents;
class Program
{
static void Main()
{
Document document = new Document();
Section section = document.AddSection();
Paragraph paragraph = section.AddParagraph();
paragraph.AppendText("这是一个将文本字符串转换为 Word 的示例。");
document.SaveToFile("TextStringToWord.docx", FileFormat.Docx);
}
}

说明

  • Document 用于创建 Word 文档对象。
  • SectionParagraph 是 Word 文档结构的基本单元,可以根据需要添加多段文本或设置段落格式。
  • 输出文件 TextStringToWord.docx 将包含插入的文本内容。

扩展技巧:如果需要对文本应用不同字体、颜色或样式,可以使用 TextRange 对象进一步设置。


将文本文件转换为 Word

using Spire.Doc;
namespace ConvertTextToWord
{
internal class Program
{
static void Main(string[] args)
{
// 创建Document类的对象
Document doc = new Document();
// 加载文本文件
doc.LoadText("示例.txt");
// 将文本文件保存为Word
doc.SaveToFile("Txt转Word.docx", FileFormat.Docx2016);
doc.Close();
}
}
}

说明

  • LoadText 用于加载文本文件。
  • SaveToFile 将文本文件保存为Word文件,可选Doc, Docx等多种格式。

在 C# 中将 Word 转换为文本

有时我们需要从 Word 文档中提取内容用于分析或存储。这种情况下,可以将 Word 文档导出为纯文本文件:

using Spire.Doc;
class Program
{
static void Main()
{
Document document = new Document();
document.LoadFromFile("Sample.docx");
// 保存为纯文本文件
document.SaveToFile("WordToText.txt", FileFormat.Txt);
}
}

说明

  • 此操作会去除 Word 文档的格式,只保留文本内容。
  • 导出的文本可用于全文搜索、日志分析或进一步处理。
  • 如果需要保留某些简单格式(如换行或段落分隔),可在保存前手动遍历段落进行处理。

总结与建议

通过掌握文本与 Word 之间的双向转换,开发者可以:

  • 提高文档处理效率:将生成的文本内容快速转换为可打印或可分享的 Word 文档。
  • 便于数据分析:从 Word 文档中提取文本,用于搜索、索引或统计。
  • 保持格式灵活性:根据需要对段落、字体或样式进行自定义。

掌握这些方法后,C# 应用就可以更灵活地处理不同来源和类型的文档内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/909052.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Chapter 8 Contour / Shape Detection

def getContours(img):contours, hierarchy = cv2.findContours(img, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)for cnt in contours:area = cv2.contourArea(cnt)print(area)if area > 500:# -1 代表所有的轮廓c…

【左程云算法笔记016】双端队列-双链表和固定数组实现 - 教程

【左程云算法笔记016】双端队列-双链表和固定数组实现 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Cons…

LeetCode 几道 Promises 和 Time 的题目 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

[硬件电路-232]:FET(场效应管)的核心机制是通过栅极电压调控半导体“沟道“中的载流子浓度与分布,进而控制源极与漏极之间的电流大小 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

java相关问题:面向对象入门2与类的识别

1. 关于 static 修饰符 应该用 static 修饰的方法: *不依赖于特定对象的实例状态:执行的操作不访问或修改对象的实例变量。 *工具类方法:常用于定义工具类中的方法,这些方法提供通用功能,无需创建类实例。 *工厂方…

EXCEL自动调整列宽的快捷键

在 Excel 中,自动调整列宽的快捷键是:Windows 系统:先选中要调整的列(可选中单列或多列),然后按下 Alt + H + O + I(依次按下这些键)。 Mac 系统:先选中要调整的列,然后按下 Command + Option + H + O + I。…

【C++实战⑬】解锁C++文件操作:从基础到实战的进阶之路 - 实践

【C++实战⑬】解锁C++文件操作:从基础到实战的进阶之路 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Co…

破解塔吊顶升高危难题!让事故率降 50%、审批快 70%

在建筑施工领域,塔吊顶升作业作为关键且高危的环节,长期以来饱受诸多痛点的困扰,严重影响施工安全与进度。传统模式下,人工对塔吊顶升作业的审查多依赖现场巡检,然而人力有限,在忙碌的施工现场,难以做到时刻紧盯…

logicFlow________文档2

# LogicFlow 官方指南 - 自定义连线与事件处理## 📖 概述LogicFlow 是滴滴开源的一款流程图编辑框架,具有强大的扩展性和自定义能力。本文档基于LogicFlow官网最新版本,详细介绍如何实现自定义连线、自定义事件处理…

CF2086D Even String

题目链接:Problem - D - Codeforces 本身是一道数学题,我们可以把字符串中的奇数项和偶数项分开,形成两条序列 A 和 B。易知一种字母一定在同一条序列上。 假如说在 A 序列上分配了 \(a,b,c\) 三种字母,\(sum = c_…

logicflow___文档3

# LogicFlow 流程图编辑器开发文档## 📖 概述这是一个基于 LogicFlow 的流程图编辑器完整开发指南,包含详细的代码示例和实现方案。该编辑器支持节点创建、连接线绘制、关系管理等功能。## 🚀 快速开始### 1. 安装…

langraph-up-react

langraph-up-react https://github.com/fanqingsong/langraph-up-reactLangGraph ReAct Agent TemplateThis template showcases a ReAct agent implemented using LangGraph, works seamlessly with LangGraph Studio…

2025年运营商API安全建设最佳实践:某头部省级电信案例解析与方案推荐

2025年运营商API安全建设最佳实践:某头部省级电信案例解析与方案推荐运营商API安全需应对资产可视性缺失、动态风险防护不足、合规压力三大挑战。全知科技(Data-Sec)知影-API风险监测系统通过“规则引擎+AI引擎”双轮…

软件工程第二次作业-第一次个人编程作业

个人编程作业项目 内容这个作业属于哪个课程 [软件工程](首页 - 计科23级12班 - 广东工业大学 - 班级博客 - 博客园)这个作业要求在哪里 [作业要求](个人项目 - 作业 - 计科23级12班 - 班级博客 - 博客园)这个作业的目…

面向对象入门2与类的识别

一、什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?static 修饰方法的适用场景应该用 static 修饰的方法:方法与对象的状态无关,只依赖传入的参数完成…

202508_天山固网_to

流量分析,dvorak键盘解码, 大小写转二进制, BIN2QRCODETags:流量分析,dvorak键盘解码,大小写转二进制,BIN2QRCODE 0x00. 题目 【天山固网——2025网络安全技能竞赛】 children of stream 附件路径:https://pan.baid…

Java学生信息管理系统代码分析

Java学生信息管理系统代码分析学生信息管理系统代码分析 功能讲解 数据处理 该程序主要处理学生信息数据,包括学生的姓名、年龄、性别、学号、专业和 GPA 等信息。这些数据通过Student类的对象进行封装,并存储在Stud…

ArcGIS Pro中 Nodata和nan 黑边的处理 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

怎么屏蔽 ahref.com 上你不想看到的网站链接(垃圾外链)

怎么屏蔽 ahref.com 上你不想看到的网站链接(垃圾外链)在 ahref 网站查看自己网站或别人网站的外链时,查询的结果里面总会充斥着各种垃圾网站的链接,你一点击过去就会弹出一个聊天窗口或者是什么广告。 虽然时间久…

浅谈字典树

本篇文章同步发表在洛谷博客。字典树 什么是字典树? 字典树,顾名思义它是一棵类似于字典的树,用树的形态存储字符串集合。具体地,它有一个自定义的无意义的根节点(通常编号为 \(0\) 或 \(1\)),所有存储进去的字…