Novacode确定单词样式是否为表格

本文关键字:是否 表格 样式 单词 Novacode | 更新日期: 2023-09-27 18:25:57

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

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

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
                }
            }
        }
    }
}

我不确定我的方法(第一个代码示例)是否是实现这一点的方法,但在等待任何可能的指导/提示时,我会继续弄清楚这一点。

Novacode确定单词样式是否为表格

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