C# OpenXMLV2是痛苦的。为什么我不能创建项目符号列表?

C# OpenXMLV2是痛苦的。为什么我不能创建项目符号列表?,c#,ms-word,openxml,office-2007,C#,Ms Word,Openxml,Office 2007,一个应该创建一个编号列表,另一个应该创建一个项目符号列表,如本站点所示 但两者都有编号。。为什么? 还有。。用openXML以编程方式创建word文档似乎非常痛苦。。有没有什么好的参考资料可以帮助解释如何创建基本word文档?一些文字,一些要点 Paragraph paraBullet1 = new Paragraph( new ParagraphProperties( new ParagraphStyleId() { Val = "Lis

一个应该创建一个编号列表,另一个应该创建一个项目符号列表,如本站点所示

但两者都有编号。。为什么?

还有。。用openXML以编程方式创建word文档似乎非常痛苦。。有没有什么好的参考资料可以帮助解释如何创建基本word文档?一些文字,一些要点

Paragraph paraBullet1 = new Paragraph(
              new ParagraphProperties(
              new ParagraphStyleId() { Val = "ListParagraph" },
              new NumberingProperties(
                                      new NumberingLevelReference() { Val = 0 },
                                      new NumberingId() { Val = 1 })),
                                      new Run(new Text("List 1"))
                                      ) { RsidParagraphAddition = "005F3962", RsidParagraphProperties = "00330DA9", RsidRunAdditionDefault = "00330DA9" };

Paragraph paraTest2 = body.AppendChild(paraBullet1);

Paragraph paraBullet2 = new Paragraph(
             new ParagraphProperties(
             new ParagraphStyleId() { Val = "ListParagraph" },
             new NumberingProperties(
                                     new NumberingLevelReference() { Val = 0 },
                                     new NumberingId() { Val = 2 })),
                                     new Run(new Text("List 2"))
                                     ) { RsidParagraphAddition = "00031711", RsidParagraphProperties = "00031711", RsidRunAdditionDefault = "00031711" };

Paragraph paraTest2x = body.AppendChild(paraBullet2);

从这个问题中寻找大卫·耶茨的答案。他成功了。尽管他的解决方案要求您拥有不止一个项目符号,但他的helper类仍然有效。我也有同样的问题。如果没有正确设置numbering.xml,则If number list似乎是默认值。请将.doc重命名为.zip并查看xmld


我假设编号格式是在docx文件包中的numbering.xml文件中定义的。您可以使用OpenXML SDK 2.0生产力工具打开docx文件,该工具可能是随SDK一起下载的,反映document.xml的代码,并尝试找到合适的样式。通过查看该文件,我建议使用NumberFormatValues.Bullet和AbstractNum元素查找附加的元素。然后找到与其关联的NumberingInstance并查看其NumberId属性。我还没有测试过这个,所以有效的ID可能在不同的属性或对象中。OpenXML的+1是痛苦的。我们应该成立一个支持小组。你可以编写一些工厂方法来简化代码。