我正在尝试使用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
- 编号2
- 编号1
- 编号2
我期望的是这样的:
- 编号1
- 编号2
- 编号1
- 编号2
似乎 startNumber 参数不起作用。在生成的文档 numbering.xml 文件中,我可以看到 numIds 和 abstractNumIds 都似乎被正确生成。这两个列表具有不同的 numIds,每个 numId 都指向不同的 abstractNumId。
有人有任何想法,可能是什么问题(除了 DocX 库中的错误)?我正在 Word 2010 中打开文档,所以我有一个理论是 DocX 和 Word > 2007 存在某种不兼容性。如果是这样,我可能需要在生成文档后对 XML 进行一些处理..