多语言展示
当前在线:828今日阅读:55今日分享:34

C# 获取Word内容控件

以下经验内容将分享通过C#程序来获取Word文档中的内容控件属性及控件填充内容。
工具/原料
1

Spire.Doc for .NET

2

Visual Studio

dll获取方法:
1

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

2

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

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

using Spire.Doc;using Spire.Doc.Documents;using System;using System.Collections.Generic;using System.Text; namespace GetSDT{    class Program    {        static void Main(string[] args)        {            //加载含有内容控件的文档            Document document = new Document();            document.LoadFromFile('test.docx');             //调用StructureTags类获取内容控件列表            StructureTags structureTags = GetAllTags(document);            List 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(Document document)        {            //遍历文档并获取所有的内容控件            StructureTags structureTags = new StructureTags();            foreach (Section section in document.Sections)            {                foreach (DocumentObject obj in section.Body.ChildObjects)                {                    if (obj.DocumentObjectType == DocumentObjectType.Paragraph)                    {                        foreach (DocumentObject pobj in (obj as Paragraph).ChildObjects)                        {                            if (pobj.DocumentObjectType == DocumentObjectType.StructureDocumentTagInline)                            {                                structureTags.tagInlines.Add(pobj as StructureDocumentTagInline);                            }                        }                    }                }            }            return structureTags;        }        public class StructureTags        {            List m_tagInlines;            public List tagInlines            {                get                {                    if (m_tagInlines == null)                        m_tagInlines = new List();                    return m_tagInlines;                }                set                {                    m_tagInlines = value;                }            }        }    }}

2

内容控件读取效果:

推荐信息