组合框(Combo Box)是文本框和下拉列表的组合,同时容许编辑者在列表抉择我的项目显示和输出内容。它是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 类的对象创立Word文档。
- 用 Document.LoadFromFile() 办法从磁盘加载Word文档。
- 用 Section.AddParagraph() 办法在文档第一节中增加一个段落。
- 在增加的段落中增加文字并设置字号、字体。
- 通过创立 StructureDocumentTagInline 的对象创立内容控件。
- 用 Paragraph.ChildObjects.Add() 办法将内容控件插入到定位的段落。
- 用 SdtType.ComboBox 属性将内容控件的类型设置为组合框。
- 通过创立 SdtComboBox 的对象创立组合框控件。
- 用 SdtComboBox.ListItems.Add() 办法设置组合框控件的选项。
- f
- 用 SdtComboBox.ListItem[].DisplayText 属性抉择下拉列表第二个选项,并用 SDTContent.ChildObjects.Add(rt) 办法将该选项增加为显示的选项。
- 用 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\New Microsoft Word Document (2).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.ComboBox; //创立组合框控件 SdtComboBox cb = new SdtComboBox(); //设置组合框控件的选项 cb.ListItems.Add(new SdtListItem("A")); cb.ListItems.Add(new SdtListItem("B")); cb.ListItems.Add(new SdtListItem("C")); //将组合框控件插入到后面创立的内容控件 sd.SDTProperties.ControlProperties = cb; //将组合框控件设置为显示第二个选项 TextRange rt = new TextRange(document); rt.Text = cb.ListItems[1].DisplayText; sd.SDTContent.ChildObjects.Add(rt); //保存文档 document.SaveToFile("Output.docx", FileFormat.Docx); } }}
增加成果示意:
本文所应用办法援用的均为收费的Free Spire.Doc for .NET中的DLL。