使用 C# 与 VB.NET 将 Word 和 Excel 转换为纯文本 (.txt)

白榆
白榆
发布时间:2026-10-15 | 3人浏览过
原创

Word 与 Excel 文件通常包含大量格式信息,导致体积较大且跨平台兼容性受限。若只需保留核心内容,将其转换为纯文本(.txt)是简化数据、提升兼容性的有效手段。本文将演示如何使用 C# 和 VB.NET 调用 Spire.Office 组件,快速实现这两种格式文件的文本化转换。

准备开发环境与依赖

在开始编码前,需要确保项目中已安装支持 Office 文档处理的第三方组件。本文以 Spire.Office for .NET 为例,该库可通过 NuGet 包管理器获取。打开 工具 → NuGet 包管理器 → 程序包管理器控制台,执行以下命令:

Install-Package Spire.Office

C# / VB.NET 将 Word 转为 Text

Spire.Office 提供了 Document 类来操作 Word 文档。利用其内置的 SaveToTxt 方法,可以将整个文档或其指定部分直接保存为纯文本。

第1步:加载源 Word 文档

创建 Document 类的实例,并使用 LoadFromFile 方法读取本地的 .docx 文件。

第2步:执行转换并保存

调用 SaveToTxt 方法,指定输出文件名及编码格式(如 UTF-8)。该方法会自动剥离排版格式,仅保留可见文本内容。

C# 代码示例:

using Spire.Doc;
using System.Text;

namespace ConvertWordToText
{
    class Program
    {
        static void Main(string[] args)
        {
            // 1. 创建 Document 实例
            Document document = new Document();
            
            // 2. 加载原始 Word 文档
            document.LoadFromFile("新型冠状病毒肺炎.docx");
            
            // 3. 将内容保存为 UTF-8 编码的 Text 文件
            document.SaveToTxt("新型冠状病毒肺炎.txt", Encoding.UTF8);
        }
    }
}

VB.NET 代码示例:

Imports Spire.Doc
Imports System.Text

Namespace ConvertWordToText
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            ' 1. 创建 Document 实例
            Dim document As Document = New Document()
            
            ' 2. 加载原始 Word 文档
            document.LoadFromFile("新型冠状病毒肺炎.docx")
            
            ' 3. 将内容保存为 UTF-8 编码的 Text 文件
            document.SaveToTxt("新型冠状病毒肺炎.txt", Encoding.UTF8)
        End Sub
    End Class
End Namespace

下图展示了转换前后的效果对比:

C# / VB.NET 将 Excel 转为 Text

Excel 文件由多个工作表组成,因此处理逻辑略有不同。需要使用 Workbook 类加载文件,并通过 Worksheets 集合定位具体的工作表,再调用对应的工作表方法进行保存。

第1步:加载源 Excel 文档

初始化 Workbook 实例,并使用 LoadFromFile 读取 .xlsx 文件。

第2步:定位目标工作表

通过索引(如 Worksheets[0])获取要转换的具体 Sheet。如需转换所有表,可遍历整个集合。

第3步:导出为带分隔符的 Text 文件

使用 Worksheet.SaveToFile 方法。该方法允许指定列之间的分隔符(如空格 " " 或制表符 \t),便于后续按列解析数据。

C# 代码示例:

using Spire.Xls;
using System.Text;

namespace ConvertExcelToText
{
    class Program
    {
        static void Main(string[] args)
        {
            // 1. 创建 Workbook 实例
            Workbook workbook = new Workbook();
            
            // 2. 加载原始 Excel 文档
            workbook.LoadFromFile("GDP排名.xlsx");
            
            // 3. 获取第一个工作表 (Index 0)
            Worksheet worksheet = workbook.Worksheets[0];
            
            // 4. 将工作表保存为以空格分隔的 Text 文件
            // SaveToFile(文件名, 列分隔符, 编码)
            worksheet.SaveToFile("GDP排名.txt", " ", Encoding.UTF8);
        }
    }
}

VB.NET 代码示例:

Imports Spire.Xls
Imports System.Text

Namespace ConvertExcelToText
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            ' 1. 创建 Workbook 实例
            Dim workbook As Workbook = New Workbook()
            
            ' 2. 加载原始 Excel 文档
            workbook.LoadFromFile("GDP排名.xlsx")
            
            ' 3. 获取第一个工作表 (Index 0)
            Dim worksheet As Worksheet = workbook.Worksheets(0)
            
            ' 4. 将工作表保存为以空格分隔的 Text 文件
            worksheet.SaveToFile("GDP排名.txt", " ", Encoding.UTF8)
        End Sub
    End Class
End Namespace

原 Excel 表格结构与转换后的 Text 文本对比如图所示:

以上就是使用 C# 和 VB.NET 将 Word 与 Excel 文档转化为纯文本的详细内容,更多关于 C# 文档处理技巧的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表