C# OpenXMLV2是痛苦的。为什么我不能创建项目符号列表?
一个应该创建一个编号列表,另一个应该创建一个项目符号列表,如本站点所示 但两者都有编号。。为什么? 还有。。用openXML以编程方式创建word文档似乎非常痛苦。。有没有什么好的参考资料可以帮助解释如何创建基本word文档?一些文字,一些要点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
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是痛苦的。我们应该成立一个支持小组。你可以编写一些工厂方法来简化代码。