微软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文档中添加日期选择控件

添加日期选择控件的详细操作步骤如下:

  • 创建Word文档。
  • Document.LoadFromFile() 方法从磁盘载入Word文档。
  • 在文档中添加一个段落。
  • 创建内容控件。
  • Paragraph.ChildObjects.Add() 方法将内容控件插入到创建的段落中。
  • StructuredDocumentTagInline.SDTProperties.SDTType 属性将内容控件设置为日期选择控件(DatePicker)。
  • SdtDate.CalendarType 属性设置日历类型。
  • SdtDate.DateFormat 属性设置日期格式。
  • 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.DatePicker;

            //设置日历类型
            SdtDate date = new SdtDate();
            date.CalendarType = CalendarType.Default;

            //设置日期格式
            date.DateFormat = "yyyy.MM.dd";

            //设置控件内容为日期
            date.FullDate = DateTime.Now;
            sd.SDTProperties.ControlProperties = date;

            //设置控件显示日期
            TextRange rt = new TextRange(document);
            rt.Text = "2022.06.30";
            sd.SDTContent.ChildObjects.Add(rt);

            //保存文档
            document.SaveToFile("Output.docx", FileFormat.Docx);
        }
    }
}

添加效果示意:

在Word文档中添加日期选择控件

以上引用的代码均来自免费的Free Spire.Doc for .NET。


大丸子
12 声望3 粉丝