4

我正在尝试使用 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. 2号
  3. 1号
  4. 2号

我期望的是:

  1. 1号
  2. 2号
  1. 1号
  2. 2号

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

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

4

1 回答 1

3

原来是 Novacode.Docx 中的一个错误。我为它提交了一个补丁,它在 1.0.0.16 版本中应用

于 2015-05-26T10:21:25.023 回答