C# 利用 Spire.Doc 读取 txt 内容并生成 Word 文档
在数据处理与报告自动化场景下,经常需要将纯文本(.txt)转换为格式化的 Microsoft Word (.docx) 文档。本文将基于 .NET Framework 环境,详细介绍如何借助第三方组件 Free Spire.Doc for .NET,利用 C# 编写程序,自动读取指定路径下的 txt 文件内容,并将其按段落写入新生成的 Word 文档中。
准备环境与配置
为了确保代码顺利运行,请在开始编码前准备好以下基础环境和依赖:
- 开发工具:Visual Studio 2017 或更高版本。
- .NET 运行时:.Net Framework 4.6.1。
- 核心组件:Free Spire.Doc for .NET 库。
- 数据源:一个包含待转换内容的
.txt文本文件。
安装 Spire.Doc 组件
在使用 C# 操作 Word 之前,必须将 Spire.Doc 集成到项目中。你可以通过以下三种方式获取并添加引用:
第 1 步:通过 NuGet 程序包管理器安装
目的:快速且自动地下载并配置 DLL 引用。
操作方法 A(图形界面):
打开 Visual Studio,点击“解决方案资源管理器” → 右键点击项目下的“引用” → 选择“管理 NuGet 包”。在搜索框输入 Free Spire.Doc,找到对应包后点击右侧的“安装”按钮,等待系统完成依赖文件的下载。
操作方法 B(控制台命令):
打开“NuGet 程序包管理器控制台”,粘贴并运行以下命令来固定版本号(示例为 9.9.7):
Install-Package FreeSpire.Doc -Version 9.9.7
第 2 步:手动添加 DLL 引用
目的:在没有网络限制或需要离线集成的场景下使用。
操作流程:
前往官网或提供方渠道下载 Spire.Doc 安装包,解压后进入文件夹。在“BIN”目录下找到 Spire.Doc.dll 文件。随后回到 Visual Studio 的“解决方案资源管理器”,右键“引用” → “添加引用” → 点击“浏览”,选中本地的 Spire.Doc.dll 并完成添加。
C# 实现 txt 转 Word 的代码逻辑
转换的核心思路是利用 System.IO.StreamReader 逐行读取文本内容,再通过 Free Spire.Doc 提供的 API 创建 Word 结构对象,将内容追加至段落中,最后执行保存指令。
- 初始化文档结构:实例化
Document对象,并向其中添加Section(节)和Paragraph(段落)容器。 - 流式读取文件:使用
StreamReader构造方法指定要读取的 txt 文件路径及字符编码。 - 循环处理与样式应用:遍历每一行文本,调用
AppendText将其加入段落。若需统一设置字体(如宋体)、加粗及颜色,可创建ParagraphStyle对象并应用。 - 输出结果:调用
SaveToFile方法,指定输出路径和格式(推荐FileFormat.Docx2013)。
核心代码实现
以下为完整的 C# 示例代码,涵盖了从引入命名空间到生成带样式的 Word 文档的全过程:
第 1 步:定义命名空间与入口类
确保项目引入了必要的库:
using Spire.Doc;
using Spire.Doc.Documents;
using System.Drawing;
using System.IO;
using System.Text;
第 2 步:执行读取与转换的主程序
该代码块演示了如何实例化文档对象,并使用默认编码读取名为 test.txt 的文件。每读入一行,便写入段落并应用自定义的紫色加粗宋体样式。
namespace CreateWordDocument_Doc
{
class Program
{
static void Main(string[] args)
{
// 1. 实例化 Document 类的对象,并建立基本的章节和段落结构
Document doc = new Document();
Section section = doc.AddSection();
Paragraph paragraph = section.AddParagraph();
// 2. 以指定路径读取 txt 文件,Encoding.Default 处理中文兼容性
StreamReader sr = new StreamReader("test.txt", Encoding.Default);
string line;
while ((line = sr.ReadLine()) != null)
{
// 将读取到的 txt 行内容添加到当前段落
paragraph.AppendText(line);
// --- 段落样式设置 ---
// 创建一个新的段落样式对象
ParagraphStyle style1 = new ParagraphStyle(doc);
style1.Name = "titleStyle"; // 样式名称标识
// 格式化具体特征:加粗、颜色(Purple)、字体(宋体)、字号(12pt)
style1.CharacterFormat.Bold = true;
style1.CharacterFormat.TextColor = Color.Purple;
style1.CharacterFormat.FontName = "宋体";
style1.CharacterFormat.FontSize = 12;
// 将样式注册到文档的 Styles 集合中
doc.Styles.Add(style1);
// 将该样式应用到当前段落
paragraph.ApplyStyle("titleStyle");
}
// 3. 将生成的文档保存为 docx 格式的 Word
doc.SaveToFile("addTxttoWord.docx", FileFormat.Docx2013);
// (可选) 生成完成后直接打开该 Word 文件进行预览
System.Diagnostics.Process.Start("addTxttoWord.docx");
}
}
}
第 3 步:验证生成的文档效果
编译运行上述代码后,在当前工程的调试目录(通常为 bin\Debug)下会生成名为 addTxttoWord.docx 的文件。打开该文件即可看到已按照设置好的紫色、加粗、宋体格式排版完成的 Word 文档内容。
注意事项
路径配置:代码示例中的 test.txt 读取路径和 addTxttoWord.docx 保存路径均为相对路径。默认情况下,它们指向 Visual Studio 运行时的根目录,通常是:F:\VS2017Project\CreateWordDocument_Doc\CreateWordDocument_Doc\bin\Debug(盘符可能因实际项目存放位置而异)。若文件不在该目录下,请务必修改字符串参数为绝对路径。
总结
通过结合 IO 流技术与 Spire.Doc 封装类,我们实现了文本数据向 Office 文档的结构化转换。这种方式无需本地安装 Microsoft Word 即可批量生成符合排版要求的报表。以上就是 C# 实现读取 txt 文件生成 Word 文档的详细内容,更多关于 C# 文件读写与 Word 自动化处理的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









