OZn*_*new 3 docx openxml openxml-sdk
我的预期结果是:
但当我使用以下代码时:
MainDocumentPart mainDocumentPart =
package.AddMainDocumentPart();
DocumentFormat.OpenXml.Wordprocessing.Document elementW =
new DocumentFormat.OpenXml.Wordprocessing.Document(
new Body(
new DocumentFormat.OpenXml.Wordprocessing.Paragraph(
new NumberingProperties(
new NumberingLevelReference() { Val = 0 },
new NumberingId() { Val = 1 })
),
new Run(
new RunProperties(),
new Text("Hello, ") { Space = new DocumentFormat.OpenXml.EnumValue<DocumentFormat.OpenXml.SpaceProcessingModeValues> { InnerText = "preserve" } })),
new DocumentFormat.OpenXml.Wordprocessing.Paragraph(
new ParagraphProperties(
new NumberingProperties(
new NumberingLevelReference() { Val = 0 },
new NumberingId() { Val = 1 })),
new Run(
new RunProperties(),
new Text("world!")
{
Space = new DocumentFormat.OpenXml.EnumValue<DocumentFormat.OpenXml.SpaceProcessingModeValues> { InnerText = "preserve" }
})));
elementW.Save(mainDocumentPart);
Run Code Online (Sandbox Code Playgroud)
结果是:
我怎样才能得到预期的结果?
我意识到这已经太晚了,但也许它可以帮助其他人提出同样的问题.明确的答案(由amurra)实际上并没有达到预期的结果.它只是创建一个文档,列表作为内容,比你更完整.您添加到主文档部分的内容很好.
在XML格式中,列表项被定义为具有缩进级别和编号ID的段落.此ID引用文档的NumberingDefinitionsPart中定义的编号规则.
在您的情况下,因为您已将编号ID设置为1,以下代码将映射该ID为1以根据需要反映项目符号列表.请注意Level对象中的NumberingFormat和LevelText对象.这些是格式化的关键组件.
NumberingDefinitionsPart numberingPart =
mainDocumentPart.AddNewPart<NumberingDefinitionsPart>("myCustomNumbering");
Numbering numElement = new Numbering(
new AbstractNum(
new Level(
new NumberingFormat() { Val = NumberFormatValues.Bullet },
new LevelText() { Val = "·" }
) { LevelIndex = 0 }
) { AbstractNumberId = 0 },
new NumberingInstance(
new AbstractNumId(){ Val = 0 }
){ NumberID = 1 }
);
numElement.Save(numberingPart);
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请查看MSDN上的Wordprocessing命名空间上的所有相关类的文档,或者使用"使用编号"标记文章.
| 归档时间: |
|
| 查看次数: |
4004 次 |
| 最近记录: |