我有一个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];