C# 实现 Word 与 TXT 文本格式互转

在现代办公自动化和数据处理流程中,经常需要在不同的文档格式之间进行转换。将 Word 文档 (.doc, .docx) 转换为纯文本 (.txt) 可以方便地提取文字内容用于数据分析、内容索引或简化分享。反之,将 TXT 文件转换为 Word 格式则能更好地利用 Word 强大的排版和格式化功能。

本文将分享如何使用 Spire.Doc for .NET 实现 TXT 文本文件与 Word 文档之间的双向转换,提供完整 C# 示例代码。

Nuget 安装 :Install-Package Spire.Doc

Word 转 TXT:保留结构与内容

Spire.Doc 提供 SaveToFile() 方法,可直接将加载的 Word 文档转换为纯文本,同时保留段落、换行等结构。

csharp 复制代码
using Spire.Doc;

namespace ConvertWordToText
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 加载Word文件
            Document doc = new Document();
            doc.LoadFromFile("示例.docx");

            // 保存为txt格式
            doc.SaveToFile("Word转Txt.txt", FileFormat.Txt);
            doc.Close();
        }
    }
}

📌 优势:

  • 自动识别段落、换行
  • 中文不乱码(UTF-8 编码)
  • 保留原始内容结构,不丢失关键信息
  • 输出为纯文本,可直接用于日志、数据库导入

⚠️ 注意:表格、图片、样式等将被忽略,若需保留,需额外处理。

TXT 转 Word:精准重建文档

加载文本文件可用 LoadText方法,然后再次使用 SaveToFile() 方法将 TXT 内容还原为 Word 文档。

csharp 复制代码
using Spire.Doc;

namespace ConvertTextToWord
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 加载文本文件
            Document doc = new Document();
            doc.LoadText("示例.txt");

            // 保存为Word (.doc 或 .docx)
            doc.SaveToFile("Txt转Word.docx", FileFormat.Docx2016);
            doc.Close();
        }
    }
}

📌 亮点:

  • 每个换行自动识别为段落
  • 保留原始文本结构,适合生成报告、通知等
  • 可进一步美化(如设置字体、标题样式)

⚠️ 限制:无法还原原Word中的表格、样式、页眉页脚,属于"文本重建"而非"格式还原"。

结语

在自动化办公中,Word 转 TXT 与 TXT 转 Word 的高效转换是提升效率的关键环节。本文基于 Spire.Doc for .NET 提供了完整、可复用的 C# 实现方案,避免了传统方法 Microsoft.Office.Interop.Word 需依赖 Office 安装、兼容性差等问题。

相关推荐
code_long4 小时前
.net core 连接打印机 使用zpl指令打印机,并且位图本地渲染zpl指令
c#·.netcore·位图·打印机·模板编辑·模板预览
csdn_aspnet6 小时前
C# .NetCore Swagger ISchemaFilter Long 转 String 防精度丢失
c#·.netcore·swagger
下页、再停留1 天前
【C#桌面客户端系列学习-11】将SQLite数据库打包到exe里
数据库·c#·visual studio
下页、再停留1 天前
【C#桌面客户端系列学习-12】封装SQLite数据库基础操作工具类(CURD)
数据库·c#·visual studio
dwm888888881 天前
c# 创建使用本地NuGet包
开发语言·c#
进击的大海贼1 天前
【无标题】
c#
csdn_aspnet1 天前
C# .NetCore Swagger ISchemaFilter 注入示例值、描述
c#·.netcore·swagger
海天鹰1 天前
C#:object.ShortcutKeys 不支持非功能单独按键
c#