Ms word 通过OpenXML在Word 2007中创建两个项目符号列表
我想得到两个项目符号列表,如图所示: 但我得到的是两个列表都有第二层(黑色圆圈) 我的代码:Ms word 通过OpenXML在Word 2007中创建两个项目符号列表,ms-word,openxml,wordprocessingml,Ms Word,Openxml,Wordprocessingml,我想得到两个项目符号列表,如图所示: 但我得到的是两个列表都有第二层(黑色圆圈) 我的代码: private static void AddNumberingDefinition(WordprocessingDocument docx) { NumberingDefinitionsPart numberingPart = docx.MainDocumentPart.AddNewPart<NumberingDefinitionsPart>(
private static void AddNumberingDefinition(WordprocessingDocument docx)
{
NumberingDefinitionsPart numberingPart =
docx.MainDocumentPart.AddNewPart<NumberingDefinitionsPart>();
Numbering element =
new Numbering(
// new Nsid(){ Val="FFFFFF80"},
new AbstractNum(new Nsid() { Val = "FFFFFF80" },
new MultiLevelType() { Val = MultiLevelValues.HybridMultilevel },
new TemplateCode() { Val = "4970B4E6" },
new Level(
new NumberingFormat() { Val = NumberFormatValues.Bullet },
new LevelText() { Val = "°" },//char.ConvertFromUtf32(61616) }
new LevelJustification() { Val = LevelJustificationValues.Left }//,
// new RunProperties() { RunFonts = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol",
//HighAnsi = "Symbol" } }
) { LevelIndex = 0 }
) { AbstractNumberId = 0 },
new NumberingInstance(
new AbstractNumId() { Val = 0 }
) { NumberID = 1 },
// element.Save(numberingPart);
// element = new Numbering(
new AbstractNum(new Nsid() { Val = "FFFFFF89" },
new MultiLevelType() { Val = MultiLevelValues.HybridMultilevel },
new TemplateCode() { Val = "4970B4E6" },
new Level(
new NumberingFormat() { Val = NumberFormatValues.Bullet },
new LevelText() { Val = "•" },//char.ConvertFromUtf32(61616) }
new LevelJustification() { Val = LevelJustificationValues.Left }//,
// new RunProperties() { RunFonts = new RunFonts() { Hint = FontTypeHintValues.Default, Ascii = "Symbol",
// HighAnsi = "Symbol" } }
) { LevelIndex = 0 }
) { AbstractNumberId = 1 },
new NumberingInstance(
new AbstractNumId() { Val = 1 }
) { NumberID = 2 });
element.AddNamespaceDeclaration("ve", "http://schemas.openxmlformats.org/markup-compatibility/2006");
element.AddNamespaceDeclaration("o", "urn:schemas-microsoft-com:office:office");
element.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
element.AddNamespaceDeclaration("m", "http://schemas.openxmlformats.org/officeDocument/2006/math");
element.AddNamespaceDeclaration("v", "urn:schemas-microsoft-com:vml");
element.AddNamespaceDeclaration("wp", "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing");
element.AddNamespaceDeclaration("w10", "urn:schemas-microsoft-com:office:word");
element.AddNamespaceDeclaration("w", "http://schemas.openxmlformats.org/wordprocessingml/2006/main");
element.AddNamespaceDeclaration("wne", "http://schemas.microsoft.com/office/word/2006/wordml");
element.Save(numberingPart);
}
private static Paragraph GenerateParagraph()
{
return new Paragraph(
new ParagraphProperties(
new NumberingProperties(
new NumberingLevelReference() { Val = 0 },
new NumberingId() { Val = 1 })),
new Run(
new RunProperties(),
new Text("Hello, Wordl!"))
);
}
private static Paragraph GenerateParagraph2()
{
return new Paragraph(
new ParagraphProperties(
new NumberingProperties(
new NumberingLevelReference() { Val = 0 },
new NumberingId() { Val = 2 })),
new Run(
new RunProperties(),
new Text("Hello, Wordl!"))
);
}
private static void AddNumberingDefinition(WordprocessingDocument docx)
{
编号定义Spart编号零件=
docx.MainDocumentPart.AddNewPart();
编号元素=
新编号(
//新Nsid(){Val=“ffffff 80”},
新的AbstractNum(新的Nsid(){Val=“ffffff 80”},
新的MultiLevelType(){Val=MultiLevelValues.HybridMultilevel},
新建TemplateCode(){Val=“4970B4E6”},
新水平(
新NumberFormat(){Val=NumberFormatValues.Bullet},
new LevelText(){Val=“°”},//char.ConvertFromUtf32(61616)}
新的LevelJustification(){Val=LevelJustificationValues.Left}/,,
//new RunProperties(){RunFonts=new RunFonts(){Hint=FontTypeHintValues.Default,Ascii=“Symbol”,
//HighAnsi=“Symbol”}
){LevelIndex=0}
){AbstractNumberId=0},
新号码实例(
新的AbstractNumId(){Val=0}
){NumberID=1},
//元素。保存(编号部分);
//元素=新编号(
新的AbstractNum(新的Nsid(){Val=“ffffff 89”},
新的MultiLevelType(){Val=MultiLevelValues.HybridMultilevel},
新建TemplateCode(){Val=“4970B4E6”},
新水平(
新NumberFormat(){Val=NumberFormatValues.Bullet},
新的LevelText(){Val=“•”},//char.ConvertFromUtf32(61616)}
新的LevelJustification(){Val=LevelJustificationValues.Left}/,,
//new RunProperties(){RunFonts=new RunFonts(){Hint=FontTypeHintValues.Default,Ascii=“Symbol”,
//HighAnsi=“Symbol”}
){LevelIndex=0}
){AbstractNumberId=1},
新号码实例(
新的AbstractNumId(){Val=1}
){NumberID=2});
元素。AddNamespaceDeclaration(“ve”http://schemas.openxmlformats.org/markup-compatibility/2006");
AddNamespaceDeclaration(“o”,“urn:schemas-microsoft-com:office:office”);
元素。AddNamespaceDeclaration(“r”http://schemas.openxmlformats.org/officeDocument/2006/relationships");
元素。AddNamespaceDeclaration(“m”http://schemas.openxmlformats.org/officeDocument/2006/math");
AddNamespaceDeclaration(“v”、“urn:schemas-microsoft-com:vml”);
元素。AddNamespaceDeclaration(“wp”http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing");
element.AddNamespaceDeclaration(“w10”,“urn:schemas-MicrosoftCOM:office:word”);
元素。AddNamespaceDeclaration(“w”http://schemas.openxmlformats.org/wordprocessingml/2006/main");
元素。AddNamespaceDeclaration(“wne”http://schemas.microsoft.com/office/word/2006/wordml");
元素。保存(编号部分);
}
私有静态段落GenerateParagraph()
{
返回新段落(
新段落属性(
新的NumberingProperties(
new NumberingLevelReference(){Val=0},
new NumberingId(){Val=1})),
新运行(
新的RunProperties(),
新文本(“你好,Wordl!”)
);
}
私有静态段落GenerateParagraph2()
{
返回新段落(
新段落属性(
新的NumberingProperties(
new NumberingLevelReference(){Val=0},
new NumberingId(){Val=2})),
新运行(
新的RunProperties(),
新文本(“你好,Wordl!”)
);
}
我不知道,问题隐藏在哪里?我使用Open XML生产力工具将生成的文件与手动创建的文件进行比较,但无法使其正常工作。提前感谢您的提示。几个小时后,我发现插入AbstractNum和NumberingInstance对象的顺序很重要 OpenXMLSDK2.0生产力工具有一个验证方法,它向我显示了验证错误 工作代码:
private static void AddNumberingDefinition(WordprocessingDocument docx)
{
NumberingDefinitionsPart numberingPart =
docx.MainDocumentPart.AddNewPart<NumberingDefinitionsPart>();
var a = new AbstractNum(new Nsid() { Val = "FFFFFF80" },
new MultiLevelType() { Val = MultiLevelValues.HybridMultilevel },
new TemplateCode() { Val = "4970B4E6" },
new Level(
new NumberingFormat() { Val = NumberFormatValues.Bullet },
new LevelText() { Val = "°" },
new LevelJustification() { Val = LevelJustificationValues.Left }
) { LevelIndex = 0 }
) { AbstractNumberId = 0 };
var a1 = new NumberingInstance(
new AbstractNumId() { Val = 0 }
) { NumberID = 1 };
var b = new AbstractNum(new Nsid() { Val = "FFFFFF89" },
new MultiLevelType() { Val = MultiLevelValues.HybridMultilevel },
new TemplateCode() { Val = "4970B4E6" },
new Level(
new NumberingFormat() { Val = NumberFormatValues.Bullet },
new LevelText() { Val = "•" },
new LevelJustification() { Val = LevelJustificationValues.Left }
) { LevelIndex = 0 }
) { AbstractNumberId = 1 };
var b1 = new NumberingInstance(
new AbstractNumId() { Val = 1 }
) { NumberID = 2 };
Numbering element = new Numbering();
element.AddNamespaceDeclaration("ve", "http://schemas.openxmlformats.org/markup-compatibility/2006");
element.AddNamespaceDeclaration("o", "urn:schemas-microsoft-com:office:office");
element.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
element.AddNamespaceDeclaration("m", "http://schemas.openxmlformats.org/officeDocument/2006/math");
element.AddNamespaceDeclaration("v", "urn:schemas-microsoft-com:vml");
element.AddNamespaceDeclaration("wp", "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing");
element.AddNamespaceDeclaration("w10", "urn:schemas-microsoft-com:office:word");
element.AddNamespaceDeclaration("w", "http://schemas.openxmlformats.org/wordprocessingml/2006/main");
element.AddNamespaceDeclaration("wne", "http://schemas.microsoft.com/office/word/2006/wordml");
element.Append(a);
element.Append(b);
element.Append(a1);
element.Append(b1);
element.Save(numberingPart);
}
private static void AddNumberingDefinition(WordprocessingDocument docx)
{
编号定义Spart编号零件=
docx.MainDocumentPart.AddNewPart();
var a=new AbstractNum(new Nsid(){Val=“ffffff 80”},
新的MultiLevelType(){Val=MultiLevelValues.HybridMultilevel},
新建TemplateCode(){Val=“4970B4E6”},
新水平(
新NumberFormat(){Val=NumberFormatValues.Bullet},
新的LevelText(){Val=“°”},
新的LevelJustification(){Val=LevelJustificationValues.Left}
){LevelIndex=0}
){AbstractNumberId=0};
var a1=新的NumberingInstance(
新的AbstractNumId(){Val=0}
){NumberID=1};
var b=new AbstractNum(new Nsid(){Val=“ffffff 89”},
新的MultiLevelType(){Val=MultiLevelValues.HybridMultilevel},
新建TemplateCode(){Val=“4970B4E6”},
新水平(
新NumberFormat(){Val=NumberFormatValues.Bullet},
新的LevelText(){Val=“•”},
新的LevelJustification(){Val=LevelJustificationValues.Left}
){LevelIndex=0}
){AbstractNumberId=1};
var b1=新的NumberingInstance(