我正在尝试使用OpenXML SDK 2.0 CTP,以编程方式创建Word文档。在我的文档中,我必须插入一个项目符号列表,列表中的某些元素必须带有下划线。我怎样才能做到这一点?
最佳答案
OpenXML中的列表有些困惑。
有一个 NumberingDefinitionsPart ,用于描述文档中的所有列表。它包含有关列表应如何显示的信息(项目符号,编号等),还为每个列表分配了ID。
然后,在 MainDocumentPart 中,对于要创建的列表中的每个项目,添加一个新段落,并将想要的列表的ID分配给该段落。
因此要创建一个项目符号列表,例如:
您首先必须创建一个NumberingDefinitionsPart:
NumberingDefinitionsPart numberingPart =
mainDocumentPart.AddNewPart<NumberingDefinitionsPart>("someUniqueIdHere");
Numbering element =
new Numbering(
new AbstractNum(
new Level(
new NumberingFormat() { Val = NumberFormatValues.Bullet },
new LevelText() { Val = "·" }
) { LevelIndex = 0 }
) { AbstractNumberId = 1 },
new NumberingInstance(
new AbstractNumId() { Val = 1 }
) { NumberID = 1 });
element.Save(numberingPart);
然后,按照通常的方式创建MainDocumentPart,除了在段落属性中,分配编号ID:
MainDocumentPart mainDocumentPart =
package.AddMainDocumentPart();
Document element =
new Document(
new Body(
new Paragraph(
new ParagraphProperties(
new NumberingProperties(
new NumberingLevelReference() { Val = 0 },
new NumberingId() { Val = 1 })),
new Run(
new RunProperties(),
new Text("Hello, ") { Space = "preserve" })),
new Paragraph(
new ParagraphProperties(
new NumberingProperties(
new NumberingLevelReference() { Val = 0 },
new NumberingId() { Val = 1 })),
new Run(
new RunProperties(),
new Text("world!") { Space = "preserve" }))));
element.Save(mainDocumentPart);
2.9节中的OpenXML reference guide中提供了对选项的更好解释。
关于ms-word - OpenXML 2 SDK-Word文档-以编程方式创建项目符号列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1940911/