下拉列表是内容控件的一种,是我们比较常用的一个功能。它能够限定编辑的内容,只能选择列表里的数据录入,方便填写的同时,保证了录入数据的准确性。在微软Word中,添加控件的功能默认是关闭的,需要打开开发工具才能添加控件。但在Word文档中添加内容控件并非只能通过微软Word实现,还可通过编程实现。通过代码添加内容控件无需微软Word,同时能够集成到自己的项目、程序中,对于开发者来说非常方便。本文将介绍用代码实现在Word文档中添加下拉列表控件的操作方法。
本文所用到的方法需要一个免费的Word库的,Free Spire.Doc for .NET,需先引入DLL文件才可在代码中引用。
1. 通过Nuget引入
1.1 在Nuget管理界面中搜索FreSpire.Doc安装。
1.2 在控制台输入以下代码安装。
PM> Install-Package FreeSpire.Doc
小标题
2. 手动下载添加DLL
访问Free Spire.Doc for .NET官网,下载并解压文件,然后在项目依赖项中添加DLL文件。
在Word文档中添加下拉列表
添加下拉列表的详细操作步骤如下:
- 创建 Document 类的对象。
- 用 Document.LoadFromFile() 方法从磁盘载入Word文档。
- 在文档中添加一个段落。
- 创建内容控件。
- 用 Paragraph.ChildObjects.Add() 方法将内容控件插入到创建的段落中。
- 用 StructuredDocumentTagInline.SDTProperties.SDTType 属性将内容控件设置为下拉列表控件(DropDownList)。
- 用 StructuredDocumentTagInline.SDTProperties.ControlProperties 属性添加下拉列表选项。
- 用 StructuredDocumentTagInline.SDTContent.ChildObjects.Add() 方法设置下拉列表显示的选项。
- 用 Document.SaveToFIle() 方法保存文档。
代码示例:
using System;
using System.Drawing;
using Spire.Doc;
using Spire.Doc.Fields;
using Spire.Doc.Documents;
namespace AddContentControl
{
internal class Program
{
static void Main(string[] args)
{
//创建Word文档
Document document = new Document();
//从磁盘加载Word文档
document.LoadFromFile(@"C:\Users\Allen\Desktop\Sample3.docx");
//在文档中添加一个段落
Section section = document.Sections[0];
Paragraph paragraph = section.AddParagraph();
TextRange text = paragraph.AppendText("下拉列表控件: ");
text.CharacterFormat.FontSize = 14;
text.CharacterFormat.FontName = "微软雅黑";
//创建内容控件
StructureDocumentTagInline sd = new StructureDocumentTagInline(document);
//将内容控件插入到创建的段落
paragraph.ChildObjects.Add(sd);
//将内容控件的类型设置为下拉列表控件
sd.SDTProperties.SDTType = SdtType.DropDownList;
//添加下拉列表选项
SdtDropDownList sddl = new SdtDropDownList();
sddl.ListItems.Add(new SdtListItem("选项1"));
sddl.ListItems.Add(new SdtListItem("选项2"));
sddl.ListItems.Add(new SdtListItem("选项3"));
sd.SDTProperties.ControlProperties = sddl;
//设置下拉列表显示的选项
TextRange rt = new TextRange(document);
rt.Text = sddl.ListItems[0].DisplayText;
sd.SDTContent.ChildObjects.Add(rt);
//保存文档
document.SaveToFile("Output.docx", FileFormat.Docx);
}
}
}
添加效果示意:
以上所使用的代码引用项均来自免费的Free Spire.Doc for .NET。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。