列表是一种非常有用的工具,可以帮助我们以结构化和有序的方式呈现信息。无论是制作项目清单、步骤指南,还是总结重要观点,使用列表都可以显著提升文档的可读性和视觉吸引力,使读者更加轻松地浏览和理解文档的内容。本文将介绍如何使用 Python 和 Spire.Doc for Python 在 Word 文档中创建各种类型的列表。
安装 Spire.Doc for Python
本教程需要用到 Spire.Doc for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.Doc
如果您不确定如何安装,请参考:如何在 Windows 中安装 Spire.Doc for Python
Python 在 Word 中创建编号列表
Spire.Doc for Python 提供了 ListStyle 类,用于创建编号列表样式或项目符号列表样式。创建后,你可以使用 Paragraph.ListFormat.ApplyStyle() 方法将列表样式应用到段落。创建编号列表的步骤如下:
- 创建 Document 类的实例。
- 使用 Document.AddSection() 方法添加一个章节。
- 创建 ListStyle 类的实例,指定列表类型为 Numbered。
- 通过 ListStyle.Levels[index] 属性获取列表的特定级别,并通过 ListLevel.PatternType 属性设置编号类型。
- 使用 Document.ListStyles.Add() 方法将列表样式添加到文档中。
- 使用 Section.AddParagraph() 方法向文档添加多个段落。
- 使用 Paragraph.ListFormat.ApplyStyle() 方法将列表样式应用到特定段落。
- 通过 Paragraph.ListFormat.ListLevelNumber 属性指定列表级别。
- 使用 Document.SaveToFile() 方法将文档保存为 Word 文件。
- Python
from spire.doc import *
from spire.doc.common import *
# 创建一个Document对象
doc = Document()
# 添加一个章节
section = doc.AddSection()
# 创建一个编号列表样式
listStyle = ListStyle(doc, ListType.Numbered)
listStyle.Name = "numberedList"
listStyle.Levels[0].PatternType = ListPatternType.DecimalEnclosedParen
listStyle.Levels[0].TextPosition = 20
doc.ListStyles.Add(listStyle)
# 添加一个段落
paragraph = section.AddParagraph()
textRange = paragraph.AppendText("所需的Web开发技能:")
textRange.CharacterFormat.FontName = "宋体"
textRange.CharacterFormat.Bold = True
textRange.CharacterFormat.FontSize = 12.0
paragraph.Format.AfterSpacing = 5.0
# 添加一个段落并将编号列表样式应用于它
paragraph = section.AddParagraph()
paragraph.AppendText("HTML")
paragraph.ListFormat.ApplyStyle("numberedList")
paragraph.ListFormat.ListLevelNumber = 0
# 添加另外四个段落并将编号列表样式应用于它们
paragraph = section.AddParagraph()
paragraph.AppendText("CSS")
paragraph.ListFormat.ApplyStyle("numberedList")
paragraph.ListFormat.ListLevelNumber = 0
paragraph = section.AddParagraph()
paragraph.AppendText("JavaScript")
paragraph.ListFormat.ApplyStyle("numberedList")
paragraph.ListFormat.ListLevelNumber = 0
paragraph = section.AddParagraph()
paragraph.AppendText("Python")
paragraph.ListFormat.ApplyStyle("numberedList")
paragraph.ListFormat.ListLevelNumber = 0
paragraph = section.AddParagraph()
paragraph.AppendText("MySQL")
paragraph.ListFormat.ApplyStyle("numberedList")
paragraph.ListFormat.ListLevelNumber = 0
# 将文档保存到文件
doc.SaveToFile("编号列表.docx", FileFormat.Docx2016)
doc.Dispose()
Python 在 Word 中创建项目符号列表
创建项目符号列表的过程与创建编号列表类似,主要区别在于需要将列表类型指定为 Bulleted 并为其设置一个项目符号。以下是详细步骤:
- 创建 Document 类的实例。
- 使用 Document.AddSection() 方法添加一个章节。
- 创建 ListStyle 类的实例,将列表类型指定为 Bulleted。
- 通过 ListStyle.Levels[index] 属性获取列表的特定级别,并通过 ListLevel.BulletCharacter 属性设置项目符号。
- 使用 Document.ListStyles.Add() 方法将列表样式添加到文档中。
- 使用 Section.AddParagraph() 方法向文档添加多个段落。
- 使用 Paragraph.ListFormat.ApplyStyle() 方法将列表样式应用到特定段落。
- 通过 Paragraph.ListFormat.ListLevelNumber 属性指定列表级别。
- 使用 Document.SaveToFile() 方法将文档保存为 Word 文件。
- Python
from spire.doc import *
from spire.doc.common import *
# 创建一个Document对象
doc = Document()
# 添加一个章节
section = doc.AddSection()
# 创建一个项目符号列表样式
listStyle = ListStyle(doc, ListType.Bulleted)
listStyle.Name = "bulletedList"
listStyle.Levels[0].BulletCharacter = "\u00B7"
listStyle.Levels[0].CharacterFormat.FontName = "Symbol"
listStyle.Levels[0].TextPosition = 20
doc.ListStyles.Add(listStyle)
# 添加一个段落
paragraph = section.AddParagraph()
textRange = paragraph.AppendText("计算机科学学科:")
textRange.CharacterFormat.FontName = "宋体"
textRange.CharacterFormat.Bold = True
textRange.CharacterFormat.FontSize = 12.0
paragraph.Format.AfterSpacing = 5.0
# 添加一个段落并将项目符号列表样式应用于它
paragraph = section.AddParagraph()
textRange = paragraph.AppendText("数据结构")
textRange.CharacterFormat.FontName = "宋体"
textRange.CharacterFormat.FontSize = 12.0
paragraph.ListFormat.ApplyStyle("bulletedList")
paragraph.ListFormat.ListLevelNumber = 0
# 添加另外五个段落并将项目符号列表样式应用于它们
paragraph = section.AddParagraph()
textRange = paragraph.AppendText("算法")
textRange.CharacterFormat.FontName = "宋体"
textRange.CharacterFormat.FontSize = 12.0
paragraph.ListFormat.ApplyStyle("bulletedList")
paragraph.ListFormat.ListLevelNumber = 0
paragraph = section.AddParagraph()
textRange = paragraph.AppendText("计算机网络")
textRange.CharacterFormat.FontName = "宋体"
textRange.CharacterFormat.FontSize = 12.0
paragraph.ListFormat.ApplyStyle("bulletedList")
paragraph.ListFormat.ListLevelNumber = 0
paragraph = section.AddParagraph()
textRange = paragraph.AppendText("操作系统")
textRange.CharacterFormat.FontName = "宋体"
textRange.CharacterFormat.FontSize = 12.0
paragraph.ListFormat.ApplyStyle("bulletedList")
paragraph.ListFormat.ListLevelNumber = 0
paragraph = section.AddParagraph()
textRange = paragraph.AppendText("C编程")
textRange.CharacterFormat.FontName = "宋体"
textRange.CharacterFormat.FontSize = 12.0
paragraph.ListFormat.ApplyStyle("bulletedList")
paragraph.ListFormat.ListLevelNumber = 0
paragraph = section.AddParagraph()
textRange = paragraph.AppendText("计算理论")
textRange.CharacterFormat.FontName = "宋体"
textRange.CharacterFormat.FontSize = 12.0
paragraph.ListFormat.ApplyStyle("bulletedList")
paragraph.ListFormat.ListLevelNumber = 0
# 将文档保存到文件
doc.SaveToFile("项目符号列表.docx", FileFormat.Docx2016)
doc.Dispose()
Python 在 Word 中创建多级编号列表
多级列表由至少两个不同的级别组成。你可以使用 ListStyle.Levels[index] 属性访问嵌套列表的特定级别,并为其设置编号类型和前缀。以下是创建多级编号列表的步骤:
- 创建 Document 类的实例。
- 使用 Document.AddSection() 方法添加一个章节。
- 创建 ListStyle 类的实例,将列表类型指定为编号列表。
- 通过 ListStyle.Levels[index] 属性获取列表的特定级别,并设置编号类型和前缀。
- 使用 Document.ListStyles.Add() 方法将列表样式添加到文档中。
- 使用 Section.AddParagraph() 方法向文档添加多个段落。
- 使用 Paragraph.ListFormat.ApplyStyle() 方法将列表样式应用到特定段落。
- 通过 Paragraph.ListFormat.ListLevelNumber 属性指定列表级别。
- 使用 Document.SaveToFile() 方法将文档保存为 Word 文件。
- Python
from spire.doc import *
from spire.doc.common import *
# 创建一个Document对象
doc = Document()
# 添加一个章节
section = doc.AddSection()
# 创建一个编号列表样式,指定每个级别的编号前缀和模式类型
listStyle = ListStyle(doc, ListType.Numbered)
listStyle.Name = "levelstyle"
listStyle.Levels[0].PatternType = ListPatternType.Arabic
listStyle.Levels[0].TextPosition = 20.0
listStyle.Levels[1].NumberPrefix = "%1."
listStyle.Levels[1].PatternType = ListPatternType.Arabic
listStyle.Levels[2].NumberPrefix = "%1.%2."
listStyle.Levels[2].PatternType = ListPatternType.Arabic
doc.ListStyles.Add(listStyle)
# 添加一个段落
paragraph = section.AddParagraph()
textRange = paragraph.AppendText("这是一个多级编号列表:")
textRange.CharacterFormat.FontName = "宋体"
textRange.CharacterFormat.Bold = True
textRange.CharacterFormat.FontSize = 12.0
paragraph.Format.AfterSpacing = 5.0
# 添加一个段落并将编号列表样式应用于它
paragraph = section.AddParagraph()
textRange = paragraph.AppendText("第一项")
textRange.CharacterFormat.FontName = "宋体"
textRange.CharacterFormat.FontSize = 12.0
paragraph.ListFormat.ApplyStyle("levelstyle")
paragraph.ListFormat.ListLevelNumber = 0
# 添加另外五个段落并将编号列表样式应用于它们
paragraph = section.AddParagraph()
textRange = paragraph.AppendText("第二项")
textRange.CharacterFormat.FontName = "宋体"
textRange.CharacterFormat.FontSize = 12.0
paragraph.ListFormat.ApplyStyle("levelstyle")
paragraph.ListFormat.ListLevelNumber = 0
paragraph = section.AddParagraph()
textRange = paragraph.AppendText("第一子项")
textRange.CharacterFormat.FontName = "宋体"
textRange.CharacterFormat.FontSize = 12.0
paragraph.ListFormat.ApplyStyle("levelstyle")
paragraph.ListFormat.ListLevelNumber = 1
paragraph = section.AddParagraph()
textRange = paragraph.AppendText("第二子项")
textRange.CharacterFormat.FontName = "宋体"
textRange.CharacterFormat.FontSize = 12.0
paragraph.ListFormat.ContinueListNumbering()
paragraph.ListFormat.ApplyStyle("levelstyle")
paragraph = section.AddParagraph()
textRange = paragraph.AppendText("子子项")
textRange.CharacterFormat.FontName = "宋体"
textRange.CharacterFormat.FontSize = 12.0
paragraph.ListFormat.ApplyStyle("levelstyle")
paragraph.ListFormat.ListLevelNumber = 2
paragraph = section.AddParagraph()
textRange = paragraph.AppendText("第三项")
textRange.CharacterFormat.FontName = "宋体"
textRange.CharacterFormat.FontSize = 12.0
paragraph.ListFormat.ApplyStyle("levelstyle")
paragraph.ListFormat.ListLevelNumber = 0
# 将文档保存到文件
doc.SaveToFile("多级编号列表.docx", FileFormat.Docx2016)
doc.Dispose()
Python 在 Word 中创建多级混合类型列表
要在多级列表中结合数字和符号项目符号,你需要创建单独的列表样式(编号和项目符号),并将它们应用于不同的段落。具体步骤如下:
- 创建 Document 类的实例。
- 使用 Document.AddSection() 方法添加一个章节。
- 创建一个编号列表样式和一个项目符号列表样式。
- 使用 Section.AddParagraph() 方法向文档添加多个段落。
- 使用 Paragraph.ListFormat.ApplyStyle() 方法将不同的列表样式应用于不同的段落。
- 使用 Document.SaveToFile() 方法将文档保存为Word文件。
- Python
from spire.doc import *
from spire.doc.common import *
# 创建一个Document对象
doc = Document()
# 添加一个章节
section = doc.AddSection()
# 创建一个编号列表样式
numberedListStyle = ListStyle(doc, ListType.Numbered)
numberedListStyle.Name = "numberedStyle"
numberedListStyle.Levels[0].PatternType = ListPatternType.Arabic
numberedListStyle.Levels[0].TextPosition = 20
numberedListStyle.Levels[1].PatternType = ListPatternType.LowLetter
doc.ListStyles.Add(numberedListStyle)
# 创建一个项目符号列表样式
bulletedListStyle = ListStyle(doc, ListType.Bulleted)
bulletedListStyle.Name = "bulltedStyle"
bulletedListStyle.Levels[2].BulletCharacter = "\u002A"
bulletedListStyle.Levels[2].CharacterFormat.FontName = "Symbol"
doc.ListStyles.Add(bulletedListStyle)
# 添加一个段落
paragraph = section.AddParagraph()
textRange = paragraph.AppendText("这是一个多级混合列表:")
textRange.CharacterFormat.FontName = "宋体"
textRange.CharacterFormat.Bold = True
textRange.CharacterFormat.FontSize = 12.0
paragraph.Format.AfterSpacing = 5.0
# 添加一个段落并将编号列表样式应用于它
paragraph = section.AddParagraph()
textRange = paragraph.AppendText("第一项")
textRange.CharacterFormat.FontName = "宋体"
textRange.CharacterFormat.FontSize = 12.0
paragraph.ListFormat.ApplyStyle("numberedStyle")
paragraph.ListFormat.ListLevelNumber = 0
# 添加另外五个段落并应用不同的列表样式
paragraph = section.AddParagraph()
textRange = paragraph.AppendText("第一子项")
textRange.CharacterFormat.FontName = "宋体"
textRange.CharacterFormat.FontSize = 12.0
paragraph.ListFormat.ApplyStyle("numberedStyle")
paragraph.ListFormat.ListLevelNumber = 1
paragraph = section.AddParagraph()
textRange = paragraph.AppendText("第二子项")
textRange.CharacterFormat.FontName = "宋体"
textRange.CharacterFormat.FontSize = 12.0
paragraph.ListFormat.ListLevelNumber = 1
paragraph.ListFormat.ApplyStyle("numberedStyle")
paragraph = section.AddParagraph()
textRange = paragraph.AppendText("第一子子项")
textRange.CharacterFormat.FontName = "宋体"
textRange.CharacterFormat.FontSize = 12.0
paragraph.ListFormat.ApplyStyle("bulltedStyle")
paragraph.ListFormat.ListLevelNumber = 2
paragraph = section.AddParagraph()
textRange = paragraph.AppendText("第二子子项")
textRange.CharacterFormat.FontName = "宋体"
textRange.CharacterFormat.FontSize = 12.0
paragraph.ListFormat.ApplyStyle("bulltedStyle")
paragraph.ListFormat.ListLevelNumber = 2
paragraph = section.AddParagraph()
textRange = paragraph.AppendText("第二项")
textRange.CharacterFormat.FontName = "宋体"
textRange.CharacterFormat.FontSize = 12.0
paragraph.ListFormat.ApplyStyle("numberedStyle")
paragraph.ListFormat.ListLevelNumber = 0
# 将文档保存到文件
doc.SaveToFile("多级混合列表.docx", FileFormat.Docx2016)
doc.Dispose()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。