如何解决如何从docx文档中提取特定数据
我有一个Word文档,其中包含几种产品的数据。每个产品都包含一个规格表,我想创建一个Windows应用程序来搜索产品名称并使用c#提取其表数据。
using (var doc = WordprocessingDocument.Open(@"C:\reader\Sample2xml.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];
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。