在Word文档中,对于有多条并列的信息内容或者段落时,我们常以添加项目标号的形式来使文档条理化,在阅读时,文档也更具美观性。另外,对于在逻辑上存在一定层级结构的内容时,也可以通过多级编号列表来标明文档内容的层次,并且,在修改、编辑文档时也增加了灵活性。因此,在本篇文档中,将介绍如何在C#中通过使用类库Free Spire.Doc for .NET 来创建项目编号列表和多级编号列表的方法。
使用工具:Free Spire.Doc for .NET(社区版)
使用方法:在安装该类库后,在项目中引用Spire.Doc.dll即可(dll文件可在安装路径下的Bin文件夹中获取)
一、 创建项目标号列表
C#
using Spire.Doc;
using Spire.Doc.Documents;
namespace WordBullets
{
class Program
{
static void Main(string[] args)
{
//初始化Document类实例,并添加section
Document doc = new Document();
Section section = doc.AddSection();
//添加七个段落并分别添加文字
Paragraph para1 = section.AddParagraph();
para1.AppendText("国际政治类组织");
Paragraph para2 = section.AddParagraph();
para2.AppendText("欧洲联盟(欧盟)");
Paragraph para3 = section.AddParagraph();
para3.AppendText("独立国家联合体(独联体)");
Paragraph para4 = section.AddParagraph();
para4.AppendText("上海合作组织");
Paragraph para5 = section.AddParagraph();
para5.AppendText("阿拉伯会议联盟");
Paragraph para6 = section.AddParagraph();
para6.AppendText("国际生态安全合作组织");
Paragraph para7 = section.AddParagraph();
para7.AppendText("阿拉伯国家联盟");
//创建段落格式(字体)
ParagraphStyle style = new ParagraphStyle(doc);
style.Name = "fontStyle";
style.CharacterFormat.FontName = "宋体";
style.CharacterFormat.FontSize = 12f;
doc.Styles.Add(style);
//遍历所有段落
for (int i = 0; i < section.Paragraphs.Count; i++)
{
//从第二段开始应用项目符号排列
if (i != 0)
{
section.Paragraphs[i].ApplyStyle(BuiltinStyle.ListBullet2);
}
//应用字体格式到每一段
section.Paragraphs[i].ApplyStyle("fontStyle");
}
//保存并打开文档
doc.SaveToFile("项目列表.docx", FileFormat.Docx2013);
System.Diagnostics.Process.Start("项目列表.docx");
}
}
}
测试结果:
二、 创建多级编号列表
C#
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
namespace Multi_levelList_Doc
{
class Program
{
static void Main(string[] args)
{
//新建Word文档
Document doc = new Document();
Section section = doc.AddSection();
//初始化ListStyle对象,指定List类型为数字列表并命名
ListStyle listStyle = new ListStyle(doc, ListType.Numbered);
listStyle.Name = "levelstyle";
//设定一级列表模式为阿拉伯数字
listStyle.Levels[0].PatternType = ListPatternType.Arabic;
//设置二级列表数字前缀及模式
listStyle.Levels[1].NumberPrefix = "\x0000.";
listStyle.Levels[1].PatternType = ListPatternType.Arabic;
//设置三级列表数字前缀及模式
listStyle.Levels[2].NumberPrefix = "\x0000.\x0001.";
listStyle.Levels[2].PatternType = ListPatternType.Arabic;
//在ListStyles集合中添加新建的list style
doc.ListStyles.Add(listStyle);
//创建字体格式
Spire.Doc.Formatting.CharacterFormat format = new Spire.Doc.Formatting.CharacterFormat(doc);
format.FontName = "宋体";
//添加段落,设置一级序列
Paragraph paragraph = section.AddParagraph();
TextRange tr = paragraph.AppendText("主要组织机构");
tr.ApplyCharacterFormat(format); //应用字体格式
paragraph.ApplyStyle(BuiltinStyle.Heading1); //应用标题1样式
paragraph.ListFormat.ApplyStyle("levelstyle"); //应用列表样式
//添加段落,设置一级序列
paragraph = section.AddParagraph();
tr = paragraph.AppendText("主要职能");
tr.ApplyCharacterFormat(format);
paragraph.ApplyStyle(BuiltinStyle.Heading1);
paragraph.ListFormat.ApplyStyle("levelstyle");
//添加段落,设置二级序列
paragraph = section.AddParagraph();
tr = paragraph.AppendText("基本职能");
tr.ApplyCharacterFormat(format);
paragraph.ApplyStyle(BuiltinStyle.Heading2);
paragraph.ListFormat.ListLevelNumber = 1; //设置等级为第二等级
paragraph.ListFormat.ApplyStyle("levelstyle");
//添加段落,设置二级序列
paragraph = section.AddParagraph();
tr = paragraph.AppendText("5大职能");
tr.ApplyCharacterFormat(format);
paragraph.ApplyStyle(BuiltinStyle.Heading2);
paragraph.ListFormat.ContinueListNumbering();
paragraph.ListFormat.ApplyStyle("levelstyle");
//添加段落,设置三级序列
paragraph = section.AddParagraph();
tr = paragraph.AppendText("管理职能 \n 组织职能 \n 协调职能 \n 调节职能 \n 提供职能");
tr.ApplyCharacterFormat(format);
paragraph.ApplyStyle(BuiltinStyle.Heading5);
paragraph.ListFormat.ListLevelNumber = 2; //设置等级为第三等级
paragraph.ListFormat.ApplyStyle("levelstyle");
//添加段落,设置一级序列
paragraph = section.AddParagraph();
tr = paragraph.AppendText("基本原则");
tr.ApplyCharacterFormat(format);
paragraph.ApplyStyle(BuiltinStyle.Heading1);
paragraph.ListFormat.ApplyStyle("levelstyle");
//保存并打开文档
doc.SaveToFile("多级列表.docx", FileFormat.Docx);
System.Diagnostics.Process.Start("多级列表.docx");
}
}
}
测试结果:
以上代码供参考,欢迎转载(转载请注明出处)。
感谢阅读!
原文地址:http://blog.51cto.com/eiceblue/2091726
时间: 2024-11-05 18:33:58