C# 创建Word项目标号列表、多级编号列表

简介: 在Word文档中,对于有多条并列的信息内容或者段落时,我们常以添加项目标号的形式来使文档条理化,在阅读时,文档也更具美观性。另外,对于在逻辑上存在一定层级结构的内容时,也可以通过多级编号列表来标明文档内容的层次,并且,在修改、编辑文档时也增加了灵活性。

在Word文档中,对于有多条并列的信息内容或者段落时,我们常以添加项目标号的形式来使文档条理化,在阅读时,文档也更具美观性。另外,对于在逻辑上存在一定层级结构的内容时,也可以通过多级编号列表来标明文档内容的层次,并且,在修改、编辑文档时也增加了灵活性。因此,在本篇文档中,将介绍如何在C#中通过使用类库Free Spire.Doc for .NET 来创建项目编号列表和多级编号列表的方法。

使用工具Free Spire.Doc for .NET(社区版)

使用方法:在安装该类库后,在项目中引用Spire.Doc.dll即可(dll文件可在安装路径下的Bin文件夹中获取)

一、创建项目标号列表

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");
        }
    }
}

测试效果:

二、创建多级编号列表

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");
        }
    }
}

测试效果:

以上代码供参考,欢迎转载(转载请注明出处)。

感谢阅读! 

目录
相关文章
|
4月前
|
数据可视化 网络协议 C#
C#/.NET/.NET Core优秀项目和框架2024年3月简报
公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。注意:排名不分先后,都是十分优秀的开源项目和框架,每周定期更新分享(欢迎关注公众号:追逐时光者,第一时间获取每周精选分享资讯🔔)。
168 1
|
1月前
|
C# 开发者 Windows
在VB.NET项目中使用C#编写的代码
在VB.NET项目中使用C#编写的代码
33 0
|
4天前
|
JSON 测试技术 C#
C#/.NET/.NET Core优秀项目框架推荐榜单
C#/.NET/.NET Core优秀项目框架推荐榜单
|
27天前
|
C# Windows
C# 创建 Windows Service 项目
C# 创建 Windows Service 项目
27 1
|
11天前
|
前端开发 开发者 Apache
揭秘Apache Wicket项目结构:如何打造Web应用的钢铁长城,告别混乱代码!
【8月更文挑战第31天】Apache Wicket凭借其组件化设计深受Java Web开发者青睐。本文详细解析了Wicket项目结构,帮助你构建可维护的大型Web应用。通过示例展示了如何使用Maven管理依赖,并组织页面、组件及业务逻辑,确保代码清晰易懂。Wicket提供的页面继承、组件重用等功能进一步增强了项目的可维护性和扩展性。掌握这些技巧,能够显著提升开发效率,构建更稳定的Web应用。
34 0
|
11天前
|
前端开发 程序员 API
从后端到前端的无缝切换:一名C#程序员如何借助Blazor技术实现全栈开发的梦想——深入解析Blazor框架下的Web应用构建之旅,附带实战代码示例与项目配置技巧揭露
【8月更文挑战第31天】本文通过详细步骤和代码示例,介绍了如何利用 Blazor 构建全栈 Web 应用。从创建新的 Blazor WebAssembly 项目开始,逐步演示了前后端分离的服务架构设计,包括 REST API 的设置及 Blazor 组件的数据展示。通过整合前后端逻辑,C# 开发者能够在统一环境中实现高效且一致的全栈开发。Blazor 的引入不仅简化了 Web 应用开发流程,还为习惯于后端开发的程序员提供了进入前端世界的桥梁。
20 0
|
1月前
|
数据库
C#Winform使用NPOI获取word中的数据
C#Winform使用NPOI获取word中的数据
110 2
|
4月前
|
安全 算法 测试技术
C#编程实战:项目案例分析
【4月更文挑战第20天】本文以电子商务系统为例,探讨C#在实际项目中的应用。通过面向对象编程实现组件抽象和封装,确保代码的可维护性和可扩展性;利用安全性特性保护用户数据;借助数据库操作处理商品信息;通过逻辑控制和算法处理订单;调试工具加速问题解决,展现C#的优势:面向对象、数据库交互、数据安全和开发效率。C#在实际编程中展现出广泛前景。
223 2
|
4月前
|
存储 SQL 数据库
C# 将 Word 转文本存储到数据库并进行管理
C# 将 Word 转文本存储到数据库并进行管理
112 2