C# 读取Word内容控件

C# 读取Word内容控件,第1张

概述在Word中,借助内容控件,可设计出具有特定功能的文档或模板。以下表格中简单介绍了几种常用的内容控件: 名称 简介 下拉列表内容控件 下拉列表包含了一个预先定义好的列表。和组合框不同的是下拉列表不允许

在Word中,借助内容控件,可设计出具有特定功能的文档或模板。以下表格中简单介绍了几种常用的内容控件:

名称

简介

下拉列表内容控件

下拉列表包含了一个预先定义好的列表。和组合框不同的是下拉列表不允许用户编辑项。

纯文本内容控件

纯文本内容控件只能包含文本,不能包含其他项,例如表格、图片或其他内容控件。

富文本内容控件

与纯文本内容控件不同,富文本内容控件可以包含除文本以外的其他项,例如表格、图片或其他内容控件。

日期选取器内容控件

日期选取器内容控件包含一个日历控件,用于帮助用户输入日期。

组合框内容控件

组合框控件包含一个可以直接编辑的列表。它结合了文本框和下拉列表的属性,用户可以在框中键入值或者从下拉列表中选择值。

图片内容控件

图片内容控件用于显示图片。用户可以在制作模板时指定图片,也可以通过单击此控件来选择需要插入的图片。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

本篇文章将介绍通过C#程序获取Word中已有的内容控件的方法。在Word中添加内容控件,请参考这篇文章

使用工具:Spire.Doc for .NET

dll文件获取及导入:

方法1:通过官网下载dll文件包。下载后,解压安装。完成安装后,注意在vs程序中添加引用Spire.Doc.dll程序集文件。如下图:

方法2:可通过Nuget网站下载。

 C# 示例代码(供参考):

测试文档如下:

using Spire.Doc; Spire.Doc.@R_404_4617@s; System; System.Collections.Generic; System.Text;namespace GetSDT{    class Program    {        static voID Main(string[] args)        {            //加载含有内容控件的文档            @R_404_4617@ @R_404_4617@ = new @R_404_4617@();            @[email protected]("test.docx");            调用StructureTags类获取内容控件列表            StructureTags structureTags = GetAllTags(@R_404_4617@);            List<Structure@R_404_4617@TagInline> tagInlines = structureTags.tagInlines;            获取内容控件属性并输出到控制台            for (int i = 0; i < tagInlines.Count; i++)            {                string alias = tagInlines[i].SDTPropertIEs.Alias;                string tag = tagInlines[i].SDTPropertIEs.Tag;                string value = tagInlines[i].SDTContent.Text;                Console.Writeline(alias);                Console.Writeline(tag);                Console.Writeline(value);                Console.Writeline(_____________________);                       }            Console.Readline();                    }        static StructureTags GetAllTags(@R_404_4617@ @R_404_4617@)        {            遍历文档并获取所有的内容控件            StructureTags structureTags =  StructureTags();            foreach (Section section in @[email protected])            {                foreach (@R_404_4617@Object obj  section.Body.Childobjects)                {                    if (obj.@R_404_4617@ObjectType == @[email protected])                    {                        foreach (@R_404_4617@Object pobj in (obj as Paragraph).Childobjects)                        {                            if (pobj.@R_404_4617@ObjectType == @[email protected]@R_404_4617@TagInline)                            {                                structureTags.tagInlines.Add(pobj  Structure@R_404_4617@TagInline);                            }                        }                    }                }            }            return structureTags;        }        public  StructureTags        {            List<Structure@R_404_4617@TagInline> m_tagInlines;            public List<Structure@R_404_4617@TagInline> tagInlines            {                get                {                    if (m_tagInlines == null)                        m_tagInlines = new List<Structure@R_404_4617@TagInline>();                     m_tagInlines;                }                set                {                    m_tagInlines = value;                }            }        }    }}

内容控件读取效果:

 

 

(本文完)

 

总结

以上是内存溢出为你收集整理的C# 读取Word内容控件全部内容,希望文章能够帮你解决C# 读取Word内容控件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1213394.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存