C#DocX:插入新的编号列表继续编号

时间:2015-01-29 11:39:31

标签: c# ms-word openxml novacode-docx

我正在尝试使用Novacode DocX将多个编号列表插入到Word文档中。

这样的事情:

var doc = DocX.Create("somedoc.docx");
var list = doc.AddList(listType: ListItemType.Numbered, startNumber: 1);

doc.AddListItem(list, "Number 1", 0, listType);
doc.AddListItem(list, "Number 2", 0, listType);

doc.InsertList(list);
doc.InsertParagraph(); //just to get some space between.
var secondList= doc.AddList(listType: ListItemType.Numbered, startNumber: 1);

doc.AddListItem(secondList, "Number 1", 0, listType); 
doc.AddListItem(secondList, "Number 2", 0, listType); 

doc.InsertList(secondList);

这产生了这个:

  1. 第1号
  2. Number 2
  3. 第1号
  4. Number 2
  5. 我的期望是:

    1. 第1号
    2. Number 2
      1. 第1号
      2. Number 2
      3. 似乎startNumber参数不起作用。在结果文档的numbering.xml文件中,我可以看到numIds和abstractNumIds似乎都正确生成。这两个列表有不同的numId,每个都引用不同的abstractNumIds。

        任何人都知道可能出现什么问题(除了DocX库中的错误)?我在Word 2010中打开文档,所以我的一个理论是与DocX和Word有一些不兼容性>如果是这种情况,我可能必须在生成文档后对XML做一些事情。

1 个答案:

答案 0 :(得分:3)

原来是Novacode.Docx中的一个错误。我提交了一个适用于1.0.0.16版本的补丁