C#读取word中表格数据的方法实现
在C#中读取Word中表格数据,可以通过Microsoft.Office.Interop.Word库中提供的API来实现。下面是具体的实现方法。
步骤一:引用Microsoft.Office.Interop.Word库
在C#项目中添加Microsoft.Office.Interop.Word库的引用,引用方法如下:
- 在 Visual Studio 解决方案资源管理器中,右键单击“引用”,然后单击“添加引用”。
- 在“添加引用”窗口中,展开“COM”节点并勾选“Microsoft Word 16.0 Object Library”(或对应 Office 版本),然后单击“确定”按钮进行引用。
步骤二:实现读取表格数据的方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Word = Microsoft.Office.Interop.Word;
namespace WordTableReader
{
class Program
{
static void Main(string[] args)
{
string filePath = @"C:\Test.docx"; // Word文档路径
int tableIndex = 1; // 表格序号
var table = GetTable(filePath, tableIndex); // 读取表格数据
Console.WriteLine("表格数据:");
foreach (var row in table)
{
foreach (var cell in row)
{
Console.Write($"{cell}\t");
}
Console.WriteLine();
}
Console.ReadKey();
}
static List<List<string>> GetTable(string filePath, int tableIndex)
{
List<List<string>> table = new List<List<string>>();
Word.Application application = new Word.Application();
Word.Document document = null;
try
{
document = application.Documents.Open(filePath);
Word.Table wTable = document.Tables[tableIndex];
int rows = wTable.Rows.Count;
int cols = wTable.Columns.Count;
for (int i = 1; i <= rows; i++)
{
List<string> row = new List<string>();
for (int j = 1; j <= cols; j++)
{
row.Add(wTable.Cell(i, j).Range.Text.Replace("\r\a", ""));
}
table.Add(row);
}
}
finally
{
document?.Close();
application.Quit();
}
return table;
}
}
}
上述代码中,GetTable()方法接收Word文档路径和表格序号作为参数,并返回List>类型的表格数据。在Main()方法中调用GetTable()方法读取表格数据,并输出到控制台。
示例一:读取Word文档中第一个表格数据
string filePath = @"C:\Test.docx"; // Word文档路径
int tableIndex = 1; // 表格序号
var table = GetTable(filePath, tableIndex); // 读取表格数据
Console.WriteLine("表格数据:");
foreach (var row in table)
{
foreach (var cell in row)
{
Console.Write($"{cell}\t");
}
Console.WriteLine();
}
示例二:读取Word文档中第二个表格数据
string filePath = @"C:\Test.docx"; // Word文档路径
int tableIndex = 2; // 表格序号
var table = GetTable(filePath, tableIndex); // 读取表格数据
Console.WriteLine("表格数据:");
foreach (var row in table)
{
foreach (var cell in row)
{
Console.Write($"{cell}\t");
}
Console.WriteLine();
}
在上述示例中,只需将tableIndex值修改为对应的表格序号即可读取相应的表格数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#读取word中表格数据的方法实现 - Python技术站