如何使用C++ 在Word文档中创建列表

打印 上一主题 下一主题

主题 782|帖子 782|积分 2361

列表分类是指在Word文档中使用不同格式排序的列表,来帮助我们一目了然地表达出一段文字的主要内容。比如,当我们描述了某个主题的若干点,就可以用列表把它们一一表达出来,而不是写成完整的段落形式。同时,列表也可以帮助我们做出精确的计算和比较,简洁有效地表示出不同部分之间的关系。在Word文档中创建列表可以便于人们去检索资料方便定位,其中总共有四种不同类型的列表:编号列表、项目符号列表、多级编号列表和多级混合类型列表。本文就将详细为您介绍如何使用C++在Word文档中创建编号列表、项目符号列表和多级列表

  • 在Word中创建编号列表
  • 在Word中创建项目符号列表
  • 在Word中创建多级编号列表
  • 在Word中创建多级混合类型列表
安装 Spire.Doc for C++

有两种方法可以将 Spire.Doc for C++ 集成到您的应用程序中。一种方法是通过NuGet安装它,另一种方法是从我们的网站下载包并将库复制到您的程序中。通过 NuGet 安装更简单,更推荐使用。您可以通过访问以下链接找到更多详细信息。
如何将 Spire.Doc for C++ 集成到 C++ 程序中
在Word中创建编号列表

您可以使用ListStyle类创建编号列表样式或项目符号样式。然后,可以使用Paragraph->GetListFormat()->ApplyStyle() 方法将列表样式应用于段落。创建编号列表的步骤如下。

  • 创建一个Document对象。
  • 使用Document->AddSection() 方法添加一个节。
  • 创建ListStyle类的实例,将列表类型指定为Numbered
  • 使用ListStyle->GetLevels()->GetItem(index) 方法获取列表的特定级别,并使用ListLevel->SetPatternType() 方法设置编号类型。
  • 使用Document->GetListStyles()->Add() 方法将列表样式添加到文档中。
  • 使用Section->AddParagraph() 方法将多个段落添加到文档中。
  • 使用Paragraph->GetListFormat()->ApplyStyle() 方法将列表样式应用于特定段落。
  • 使用Paragraph->GetListFormat()->GetListLevelNumber() 方法指定列表级别。
  • 使用Document->SaveToFile() 方法将文档保存到Word文件中。
完整代码

C++
  1. #include "Spire.Doc.o.h";
  2. using namespace Spire::Doc;
  3. using namespace std;
  4. int main() {
  5.     //创建一个Document对象
  6.     intrusive_ptr<Document> document = new Document();
  7.     //添加一个节
  8.     intrusive_ptr<Section> section = document->AddSection();
  9.     //创建编号列表样式
  10.     intrusive_ptr<ListStyle> listStyle = new ListStyle(document, ListType::Numbered);
  11.     listStyle->SetName(L"numberedList");
  12.     listStyle->GetLevels()->GetItem(0)->SetPatternType(ListPatternType::DecimalEnclosedParen);
  13.     listStyle->GetLevels()->GetItem(0)->SetTextPosition(20);
  14.     document->GetListStyles()->Add(listStyle);
  15.     //添加一个段落
  16.     intrusive_ptr<Paragraph> paragraph = section->AddParagraph();
  17.     paragraph->AppendText(L"完整的论证要素:");
  18.     paragraph->GetFormat()->SetAfterSpacing(5);
  19.     //添加段落并对其应用编号列表样式
  20.     paragraph = section->AddParagraph();
  21.     paragraph->AppendText(L"论题");
  22.     paragraph->GetListFormat()->ApplyStyle(L"numberedList");
  23.     paragraph->GetListFormat()->SetListLevelNumber(0);
  24.     //再添加四个段落,并将编号列表样式应用于特定段落
  25.     paragraph = section->AddParagraph();
  26.     paragraph->AppendText(L"论点");
  27.     paragraph->GetListFormat()->ApplyStyle(L"numberedList");
  28.     paragraph->GetListFormat()->SetListLevelNumber(0);
  29.     paragraph = section->AddParagraph();
  30.     paragraph->AppendText(L"论据");
  31.     paragraph->GetListFormat()->ApplyStyle(L"numberedList");
  32.     paragraph->GetListFormat()->SetListLevelNumber(0);
  33.     paragraph = section->AddParagraph();
  34.     paragraph->AppendText(L"论证方式");
  35.     paragraph->GetListFormat()->ApplyStyle(L"numberedList");
  36.     paragraph->GetListFormat()->SetListLevelNumber(0);
  37.     //将文档保存为Word文件
  38.     document->SaveToFile(L"FE编号列表.docx", FileFormat::Docx2019);
  39.     document->Dispose();
  40. }
复制代码
效果图


在Word中创建项目符号列表

创建项目符号列表的过程与创建编号列表的过程类似。不同之处在于,创建列表样式时,必须将列表类型指定为“项目符号”,并为其设置项目符号。以下是详细步骤。

  • 创建一个Document对象。
  • 使用Document->AddSection() 方法添加一个节。
  • 创建ListStyle类的实例,将列表类型指定为“Bulleted”。
  • 使用ListStyle->GetLevels()->Get(index) 方法获取列表的特定级别,并使用ListLevel->SetBulletCharacter() 方法设置项目符号。
  • 使用Document->GetListStyles()->Add() 方法将列表样式添加到文档中。
  • 使用Section->AddParagraph() 方法将多个段落添加到文档中。
  • 使用Paragraph->GetListFormat()->ApplyStyle() 方法将列表样式应用于特定段落。
  • 使用Paragraph->GetListFormat()->SetListLevelNumber() 方法指定列表级别。
  • 使用Document->SaveToFile() 方法将文档保存到Word文件中。
完整代码

C++
  1. #include "Spire.Doc.o.h";
  2. using namespace Spire::Doc;
  3. using namespace std;
  4. int main() {
  5.     //创建一个Document对象
  6.     intrusive_ptr<Document> document = new Document();
  7.     //添加一个节
  8.     intrusive_ptr<Section> section = document->AddSection();
  9.     //创建项目符号列表样式
  10.     intrusive_ptr<ListStyle> listStyle = new ListStyle(document, ListType::Bulleted);
  11.     listStyle->SetName(L"bulletedList");
  12.     listStyle->GetLevels()->GetItem(0)->SetBulletCharacter(L"\u00B7");
  13.     listStyle->GetLevels()->GetItem(0)->GetCharacterFormat()->SetFontName(L"Symbol");
  14.     listStyle->GetLevels()->GetItem(0)->SetTextPosition(20);
  15.     document->GetListStyles()->Add(listStyle);
  16.     //添加一个段落
  17.     intrusive_ptr<Paragraph> paragraph = section->AddParagraph();
  18.     paragraph->AppendText(L"常用的六种论证方法:");
  19.     paragraph->GetFormat()->SetAfterSpacing(5);
  20.     //添加段落并对其应用项目符号列表样式
  21.     paragraph = section->AddParagraph();
  22.     paragraph->AppendText(L"举例论证");
  23.     paragraph->GetListFormat()->ApplyStyle(L"bulletedList");
  24.     paragraph->GetListFormat()->SetListLevelNumber(0);
  25.     //再添加五个段落,并将项目符号列表样式应用于特定段落
  26.     paragraph = section->AddParagraph();
  27.     paragraph->AppendText(L"道理论证");
  28.     paragraph->GetListFormat()->ApplyStyle(L"bulletedList");
  29.     paragraph->GetListFormat()->SetListLevelNumber(0);
  30.     paragraph = section->AddParagraph();
  31.     paragraph->AppendText(L"对比论证");
  32.     paragraph->GetListFormat()->ApplyStyle(L"bulletedList");
  33.     paragraph->GetListFormat()->SetListLevelNumber(0);
  34.     paragraph = section->AddParagraph();
  35.     paragraph->AppendText(L"比喻论证");
  36.     paragraph->GetListFormat()->ApplyStyle(L"bulletedList");
  37.     paragraph->GetListFormat()->SetListLevelNumber(0);
  38.     paragraph = section->AddParagraph();
  39.     paragraph->AppendText(L"引用论证");
  40.     paragraph->GetListFormat()->ApplyStyle(L"bulletedList");
  41.     paragraph->GetListFormat()->SetListLevelNumber(0);
  42.     paragraph = section->AddParagraph();
  43.     paragraph->AppendText(L"因果论证");
  44.     paragraph->GetListFormat()->ApplyStyle(L"bulletedList");
  45.     paragraph->GetListFormat()->SetListLevelNumber(0);
  46.     //保存结果文档
  47.     document->SaveToFile(L"FE项目符号列表.docx", FileFormat::Docx2019);
  48.     document->Dispose();
  49. }
复制代码
效果图


在Word中创建多级编号列表

多级列表至少由两个不同的级别组成。嵌套列表的每个级别都可以使用ListStyle->GetLevels()->GetItem(index) 方法进行访问。通过ListLevel对象,您可以设置某个级别的编号类型和前缀。以下是在Word中创建多级编号列表的步骤。

  • 创建一个Document对象。
  • 使用Document->AddSection() 方法添加一个节。
  • 创建ListStyle类的实例,将列表类型指定为Numbered
  • 使用ListStyle->GetLevels()->GetItem(index) 方法获取列表的特定级别,并设置编号类型和前缀。
  • 使用Document->GetListStyles()->Add() 方法将列表样式添加到文档中。
  • 使用Section->AddParagraph() 方法将多个段落添加到文档中。
  • 使用Paragraph->GetListFormat()->ApplyStyle() 方法将列表样式应用于特定段落。
  • 使用Paragraph->GetListFormat()->SetListLevelNumber() 方法指定列表级别。
  • 使用Document->SaveToFile() 方法将文档保存到Word文件中。
完整代码

C++
  1. #include "Spire.Doc.o.h";
  2. using namespace Spire::Doc;
  3. using namespace std;
  4. int main() {
  5.     //创建一个Document对象
  6.     intrusive_ptr<Document> document = new Document();
  7.     //添加一个节
  8.     intrusive_ptr<Section> section = document->AddSection();
  9.     //创建编号列表样式,指定每个级别的编号前缀和图案类型
  10.     intrusive_ptr<ListStyle> listStyle = new ListStyle(document, ListType::Numbered);
  11.     listStyle->SetName(L"nestedStyle");
  12.     listStyle->GetLevels()->GetItem(0)->SetPatternType(ListPatternType::Arabic);
  13.     listStyle->GetLevels()->GetItem(0)->SetTextPosition(20);
  14.     listStyle->GetLevels()->GetItem(1)->SetNumberPrefix(L"%1.");
  15.     listStyle->GetLevels()->GetItem(1)->SetPatternType(ListPatternType::Arabic);
  16.     listStyle->GetLevels()->GetItem(2)->SetNumberPrefix(L"%1.%2.");
  17.     listStyle->GetLevels()->GetItem(2)->SetPatternType(ListPatternType::Arabic);
  18.     document->GetListStyles()->Add(listStyle);
  19.     //添加一个段落
  20.     intrusive_ptr<Paragraph> paragraph = section->AddParagraph();
  21.     paragraph->AppendText(L"这是一个多级编号列表:");
  22.     paragraph->GetFormat()->SetAfterSpacing(5);
  23.     //添加段落并对其应用编号列表样式
  24.     paragraph = section->AddParagraph();
  25.     paragraph->AppendText(L"水果");
  26.     paragraph->GetListFormat()->ApplyStyle(L"nestedStyle");
  27.     paragraph->GetListFormat()->SetListLevelNumber(0);
  28.     //再添加五个段落,并将编号列表样式应用于特定段落
  29.     paragraph = section->AddParagraph();
  30.     paragraph->AppendText(L"蔬菜");
  31.     paragraph->GetListFormat()->ApplyStyle(L"nestedStyle");
  32.     paragraph->GetListFormat()->SetListLevelNumber(0);
  33.     paragraph = section->AddParagraph();
  34.     paragraph->AppendText(L"根菜类");
  35.     paragraph->GetListFormat()->ApplyStyle(L"nestedStyle");
  36.     paragraph->GetListFormat()->SetListLevelNumber(1);
  37.     paragraph = section->AddParagraph();
  38.     paragraph->AppendText(L"叶菜类");
  39.     paragraph->GetListFormat()->ContinueListNumbering();
  40.     paragraph->GetListFormat()->ApplyStyle(L"nestedStyle");
  41.     paragraph = section->AddParagraph();
  42.     paragraph->AppendText(L"小白菜");
  43.     paragraph->GetListFormat()->ApplyStyle(L"nestedStyle");
  44.     paragraph->GetListFormat()->SetListLevelNumber(2);
  45.     paragraph = section->AddParagraph();
  46.     paragraph->AppendText(L"谷物");
  47.     paragraph->GetListFormat()->ApplyStyle(L"nestedStyle");
  48.     paragraph->GetListFormat()->SetListLevelNumber(0);
  49.     //保存结果文档
  50.     document->SaveToFile(L"FE多级编号列表.docx", FileFormat::Docx2019);
  51.     document->Dispose();
  52. }
复制代码
效果图


在Word中创建多级混合类型列表

多级列表可以是编号列表和项目符号列表的组合。要创建混合类型列表,只需要创建编号列表样式和项目符号列表样式,并将它们应用于不同的段落。具体步骤如下。

  • 创建一个Document对象。
  • 使用Document->AddSection() 方法添加一个节。
  • 创建编号列表样式和项目符号列表样式。
  • 使用Section->AddParagraph() 方法将多个段落添加到文档中。
  • 使用Paragraph->GgetListFormat()->ApplyStyle() 方法将不同的列表样式应用于不同的段落。
  • 使用Document->SaveToFile() 方法将文档保存到Word文件中。
完整代码

C++
  1. #include "Spire.Doc.o.h";
  2. using namespace Spire::Doc;
  3. using namespace std;
  4. int main() {
  5.     //创建一个Document对象
  6.     intrusive_ptr<Document> document = new Document();
  7.     //添加一个节
  8.     intrusive_ptr<Section> section = document->AddSection();
  9.     //创建编号列表样式
  10.     intrusive_ptr<ListStyle> numberedListStyle = new ListStyle(document, ListType::Numbered);
  11.     numberedListStyle->SetName(L"numberedStyle");
  12.     numberedListStyle->GetLevels()->GetItem(0)->SetPatternType(ListPatternType::Arabic);
  13.     numberedListStyle->GetLevels()->GetItem(0)->SetTextPosition(20);
  14.     numberedListStyle->GetLevels()->GetItem(1)->SetPatternType(ListPatternType::LowLetter);
  15.     document->GetListStyles()->Add(numberedListStyle);
  16.     //创建项目符号列表样式
  17.     intrusive_ptr<ListStyle> bulletedListStyle = new ListStyle(document, ListType::Bulleted);
  18.     bulletedListStyle->SetName(L"bulletedStyle");
  19.     bulletedListStyle->GetLevels()->GetItem(2)->SetBulletCharacter(L"\u002A");
  20.     bulletedListStyle->GetLevels()->GetItem(2)->GetCharacterFormat()->SetFontName(L"Symbol");
  21.     document->GetListStyles()->Add(bulletedListStyle);
  22.     //添加段落
  23.     intrusive_ptr<Paragraph> paragraph = section->AddParagraph();
  24.     paragraph->AppendText(L"这是一个多级混合列表:");
  25.     paragraph->GetFormat()->SetAfterSpacing(5);
  26.     //添加段落并对其应用编号列表样式
  27.     paragraph = section->AddParagraph();
  28.     paragraph->AppendText(L"水果");
  29.     paragraph->GetListFormat()->ApplyStyle(L"numberedStyle");
  30.     paragraph->GetListFormat()->SetListLevelNumber(0);
  31.     //再添加五个段落,并对其应用不同的列表样式
  32.     paragraph = section->AddParagraph();
  33.     paragraph->AppendText(L"瓜果类");
  34.     paragraph->GetListFormat()->ApplyStyle(L"numberedStyle");
  35.     paragraph->GetListFormat()->SetListLevelNumber(1);
  36.     paragraph = section->AddParagraph();
  37.     paragraph->AppendText(L"浆果类");
  38.     paragraph->GetListFormat()->SetListLevelNumber(1);
  39.     paragraph->GetListFormat()->ApplyStyle(L"numberedStyle");
  40.     paragraph = section->AddParagraph();
  41.     paragraph->AppendText(L"蔓越莓");
  42.     paragraph->GetListFormat()->ApplyStyle(L"bulletedStyle");
  43.     paragraph->GetListFormat()->SetListLevelNumber(2);
  44.     paragraph = section->AddParagraph();
  45.     paragraph->AppendText(L"覆盆子");
  46.     paragraph->GetListFormat()->ApplyStyle(L"bulletedStyle");
  47.     paragraph->GetListFormat()->SetListLevelNumber(2);
  48.     paragraph = section->AddParagraph();
  49.     paragraph->AppendText(L"蔬菜");
  50.     paragraph->GetListFormat()->ApplyStyle(L"numberedStyle");
  51.     paragraph->GetListFormat()->SetListLevelNumber(0);
  52.     //保存结果文档
  53.     document->SaveToFile(L"FE多级混合类型列表.docx", FileFormat::Docx);
  54.     document->Dispose();
  55. }
复制代码
效果图


—本文完—

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大连全瓷种植牙齿制作中心

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表