如何从docx文档中提取特定数据



我有一个Word文档,其中包含几个产品的数据。每个产品都包含一个规格表,我想创建一个windows应用程序来搜索产品名称并使用c#提取其表数据。

using (var doc = WordprocessingDocument.Open(@"C:readerSample2xml.xml", false))
{
// To create a temporary table   
DataTable dt = new DataTable();
int rowCount = 0;

// Find the first table in the document.   
Table table = doc.MainDocumentPart.Document.Elements<Table>().First();

// To get all rows from table  
IEnumerable<TableRow> rows = table.Elements<TableRow>();

// To read data from rows and to add records to the temporary table  
foreach (TableRow row in rows)
{
if (rowCount == 0)
{
foreach (TableCell cell in row.Descendants<TableCell>())
{
dt.Columns.Add(cell.InnerText);
}
rowCount += 1;
}
else
{
dt.Rows.Add();
int i = 0;
foreach (TableCell cell in row.Descendants<TableCell>())
{
dt.Rows[dt.Rows.Count - 1][i] = cell.InnerText;
i++;
}
}
}

我需要做的是搜索产品名称,然后启动范围并获得第一个表,但它给了我错误。

尝试以下代码来选择文档中的第一个表

word.Table tbl = doc.Range(ref doc.Content.Start, ref doc.Content.End).Tables[1];

相关内容

  • 没有找到相关文章

最新更新