我需要解析几个.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
}
}
}
}
}
我不确定我的方法(第一个代码示例)是否可以做到这一点,但我会在等待任何可能的指导/提示时继续解决这个问题。
答案 0 :(得分:0)
我明白了。我必须查看 ParentContainer 属性以检查单元格值。