C# 获取Word内容控件

时间:2026-02-14 11:58:31

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

C# 获取Word内容控件

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

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<StructureDocumentTagInline> 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<StructureDocumentTagInline> m_tagInlines;

            public List<StructureDocumentTagInline> tagInlines

            {

                get

                {

                    if (m_tagInlines == null)

                        m_tagInlines = new List<StructureDocumentTagInline>();

                    return m_tagInlines;

                }

                set

                {

                    m_tagInlines = value;

                }

            }

        }

    }

}

2、内容控件读取效果:

C# 获取Word内容控件

© 2026 途途旅游
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com