从Word文档中获取列表编号?

时间:2013-07-23 13:02:48

标签: c# winforms office-interop

我正在使用Microsoft.Office.Interop.Word来解析Word 2010文档。我抓住每个页面每个表格第一列中每个单元格的所有文本。但是,我遇到的问题是,当我收到文本时,它不包括列表编号。例如,我表中的文本如下所示:   enter image description here

我的程序遍历文档并从第一列中的每个单元格中获取文本。但是,我没有得到“1.简介”,而是获得了“简介”。以下是我得到的数据:

enter image description here

正如你所看到的,我没有得到列表编号,只是文本(即“简介”而不是“1.简介”)。

这是我用来获取数据的循环:

        // Loop through each table in the document, 
        // grab only text from cells in the first column
        // in each table.
        foreach (Table tb in docs.Tables)
        {
            for (int row = 1; row <= tb.Rows.Count; row++)
            {
                var cell = tb.Cell(row, 1);
                var text = cell.Range.Text;
                dt.Rows.Add(text);
            }
        }

有人可以提供有关如何从每个单元格以及文本中获取列表编号的指示吗?我想它会是这样的:

var text = cell.Range.ListNumber + " " + cell.Range.Text;

......但我无法弄清楚,确实。

1 个答案:

答案 0 :(得分:4)

找到答案。我必须得到ListString值:

        // Loop through each table in the document, 
        // grab only text from cells in the first column
        // in each table.
        foreach (Table tb in docs.Tables)
        {
            for (int row = 1; row <= tb.Rows.Count; row++)
            {
                var cell = tb.Cell(row, 1);
                var listNumber = cell.Range.ListFormat.ListString;
                var text = listNumber + " " + cell.Range.Text;

                dt.Rows.Add(text);
            }
        }