
Word 和 Excel 分别适用于不同类型的内容——Word 侧重文档编辑,而 Excel 更擅长处理结构化数据和分析。正因如此,在两种格式之间转换内容并不总是那么直观。若 Word 文档中包含希望在 Excel 中查看或处理的数据,手动转换可能相当繁琐。借助 Spire.Doc for .NET,您可以直接将 Word 转换为 Excel,从而更高效地复用文档中的数据。
在本教程中,您将学习如何使用 C# 实现 Word 到 Excel 的转换。
安装 Spire.Doc for .NET
首先,您需要将 Spire.Doc for .NET 包含的 DLL 文件作为引用添加到您的 .NET 项目中。
这些 DLL 文件可从此链接下载,或通过 NuGet 安装。
PM> Install-Package Spire.Doc
基础转换:在 C# 中将 Word 转为 Excel
使用 Spire.Doc 将 Word 文档转换为 Excel 十分简便:
- 使用 Document.LoadFromFile() 方法加载 Word 文档。
- 使用 Document.SaveToFile() 方法将文档另存为 Excel 文件。
当 Word 文档中包含结构化内容(尤其是表格)时,此方法效果最佳,因为表格可自然地映射至 Excel 单元格。
using Spire.Doc;
namespace WordToExcel
{
class Program
{
static void Main(string[] args)
{
// 加载 Word 文档
Document document = new Document();
document.LoadFromFile("G:/Documents/Sample.docx");
// 另存为 Excel
document.SaveToFile("G:/Documents/Sample84.xlsx", FileFormat.XLSX);
// 释放资源
document.Dispose();
}
}
}
输出效果:

哪些内容转换效果最好?
在将 Word 转换为 Excel 时,了解内容的解析方式至关重要:
- Word 中的表格会转换为 Excel 的工作表,并保留行和列的结构。
- 段落文本可能会插入到单元格中,但缺乏严格的结构映射。
- 悬浮元素、多栏部分等复杂布局可能无法完美转换。
- 默认情况下,Word 文档中的每个“节(Section)”会转换为 Excel 中的独立“工作表(Worksheet)”。
建议:为获得最佳转换效果,请确保 Word 文档在转换前使用清晰的表格结构。
进阶 Word 转 Excel 转换场景
掌握基础转换后,您可以根据实际需求处理更复杂的场景。
仅将 Word 中的表格转换为 Excel
若仅需要结构化数据,从 Word 文档中提取表格往往比转换整个文件更有用。默认情况下,同一节内的所有表格都会放在同一个工作表中。若要将每个表格输出至独立的工作表,可在转换前将每个表格放入单独的“节”中。
为此,您可以操作文档结构与表格对象:
- 使用 section.Tables 访问节中的所有表格。
- 使用 table.Clone() 创建表格副本。
- 为每个表格创建新节,使其在 Excel 中映射至独立的工作表。
using Spire.Doc;
class Program
{
static void Main()
{
// 加载源 Word 文档
Document doc = new Document();
doc.LoadFromFile("G:/Documents/Sample84.docx");
// 创建一个临时文档用于存储提取的表格
Document tempDoc = new Document();
// 遍历源文档的所有节
foreach (Section section in doc.Sections)
{
// 遍历当前节中的所有表格
foreach (Table table in section.Tables)
{
// 为每个表格创建新节(每个节将成为 Excel 中的独立工作表)
Section tempSec = tempDoc.AddSection();
// 克隆表格并添加到新节中
tempSec.Tables.Add(table.Clone());
}
}
// 保存为 Excel 文件
tempDoc.SaveToFile("Tables.xlsx", FileFormat.XLSX);
doc.Dispose();
tempDoc.Dispose();
}
}

说明:由于每个表格在转换前都被置于独立的节中,输出的 Excel 文件里每个表格会显示在独立的工作表中。
将 Word 文档的指定页面转换为 Excel
某些情况下,仅特定页面包含所需数据(例如第 2 页的汇总表)。此时,您可在转换前使用 Document.ExtractPages() 将该页面内容隔离至新的 Document 对象中。这避免了处理整个文件,并生成更清晰、聚焦的输出。
using Spire.Doc;
namespace WordPageToExcel
{
class Program
{
static void Main(string[] args)
{
Document document = new Document();
document.LoadFromFile("input.docx");
// 提取指定页面的内容(例如第 2 页,对应索引为 1,索引从 0 开始)
Document pageDoc = document.ExtractPages(1, 1);
// 将提取的页面保存为 Excel
pageDoc.SaveToFile("output.xlsx", FileFormat.XLSX);
document.Dispose();
pageDoc.Dispose();
}
}
}

提示:Word 中的页面边界是基于流式布局的,可能会因字体渲染差异而发生变化。若提取结果与 Word 中显示的页面不完全一致,可以在目标页码附近尝试不同索引值进行微调。
批量转换多个 Word 文档为 Excel
要转换整个文件夹中的 Word 文件,可以遍历所有 .docx 文件并应用相同的转换逻辑。这适用于批量迁移或定时任务处理场景,也可以很方便地集成到后台任务或自动化流程中。。
using Spire.Doc;
using System.IO;
namespace BatchWordToExcel
{
class Program
{
static void Main(string[] args)
{
string inputFolder = "inputDocs";
string outputFolder = "outputExcels";
Directory.CreateDirectory(outputFolder);
string[] wordFiles = Directory.GetFiles(inputFolder, "*.docx");
// 遍历每个 Word 文件并转换为 Excel
foreach (string filePath in wordFiles)
{
Document document = new Document();
document.LoadFromFile(filePath);
string fileName = Path.GetFileNameWithoutExtension(filePath);
string outputPath = Path.Combine(outputFolder, fileName + ".xlsx");
document.SaveToFile(outputPath, FileFormat.XLSX);
document.Dispose();
}
}
}
}
提示:对于大批量处理,建议将内部代码块包裹在 try/catch 语句中,以防止单个格式错误的文件导致整个流程中止。如果您的转换工作流需要在转换前先合并文档,可了解如何在 C# 中合并 Word 文档。
注意事项与最佳实践
- 结构化表格:为了获得最佳转换结果,请使用结构良好的 Word 表格。
- 避免复杂布局:尽量避免使用悬浮图形或多栏设计。
- 内存优化:处理大批量文件时,考虑分批处理文件以优化内存使用。
常见问题
问题1:支持转换哪些 Word 文件格式?
答:Spire.Doc for .NET 支持 .doc 和 .docx 格式作为输入。您可使用 Document.LoadFromFile() 加载任一格式,库将自动处理其余部分。
问题2:转换后会保留原始格式吗?
答:转换的主要目标是将内容导出为电子表格格式。表格等结构化内容通常可保留较好的可读性,而复杂布局可能无法完全按 Word 原样保留。
问题3:该功能适合处理大型文档吗?
答:适合,但性能可能因文档大小与复杂程度而异。对于大型文件,建议在代码中优化内存使用并高效处理文档。
问题4:转换后能否进一步自定义 Excel 输出?
答:可以。保存为 .xlsx 后,您可以结合使用 Spire.XLS for .NET 打开该文件以进一步自定义输出,例如调整单元格样式、字体、颜色、列宽或添加公式。这两个库设计可无缝协同工作。
结语
本文介绍了如何使用 Spire.Doc for .NET 在 C# 中将 Word 转换为 Excel,涵盖从基础转换到页面提取与表格定向处理等进阶场景。若需要更精细地控制输出结果(如调整字体、颜色或单元格格式),可将其与 Spire.XLS for .NET 结合使用。
您也可探索其他转换功能,例如将 Word 文档导出为 PDF、HTML 或图片等。
获取免费授权
如需移除生成文档中的评估水印或解除功能限制,请申请 30 天免费临时授权。







