2

我需要解析几个 .docx 文件并发现使用 Novacode DocX 使这项任务变得更加容易。我需要解析这些文档的方法是自上而下的方法,当我遇到某个“对象”(单词表、图片、图形、方程式……)时,会做一些特定的事情。

我写了以下代码。给定一个文档,此代码将按顺序浏览所有段落实例并打印出样式。我注意到其中一些样式(在本例中为“正常”)实际上与表格对象相关联。

using Novacode;
using System;

namespace resrap
{
    internal class Program
    {
        private static void Main( string[] args )
        {
            using ( DocX document = DocX.Load( args[0] ) )
            {
                foreach ( var paraType in document.Paragraphs )
                {
                    Console.WriteLine( paraType.StyleName );
                }
            }
        }
    }
}

有没有办法让我确定给定段落是否与 Word 表格相关联?我知道如何获取文档中的所有表格,但是由于我需要按顺序解析文档(然后将解析后的内容按排序顺序排列),因此使用类似这样的方法并没有太大帮助,因为我不知道这些在哪里表格实际上位于文档中。

using Novacode;
using System;

namespace resrap
{
    internal class Program
    {
        private static void Main( string[] args )
        {
            using ( DocX document = DocX.Load( args[0] ) )
            {
                for ( int index = 0; index < document.Tables.Count; index++ )
                {
                    var table = document.Tables[index];
                    // do something with table
                }
            }
        }
    }
}

我不确定我的方法(第一个代码示例)是否可以做到这一点,但我会在等待任何可能的指导/提示时继续解决这个问题。

4

1 回答 1

0

我想到了。我必须查看ParentContainer属性来检查单元格值。

于 2015-12-21T15:51:43.883 回答