如何用c#得到Word中的表格数量

最近在做一个c#的程序,需要知道Word中有多少表格,如何用c#语言得到Word中的表格数量

c/s系统安装过office可以用下面的代码,nuget引用Microsoft.Office.Interop.Word

img

using System;
using MSWord = Microsoft.Office.Interop.Word;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            MSWord.Application app = new MSWord.Application();
            app.Visible = true;
            object filename = @"C:\Users\showbo\Desktop\t.docx";  //word文件路径
            object isread = false;
            object isvisible = true;
            object miss = System.Reflection.Missing.Value; 
            
            var doc = app.Documents.Open(ref filename, ref miss, ref isread, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref isvisible, ref miss, ref miss, ref miss, ref miss);

            Console.WriteLine(doc.Tables.Count);
            Console.ReadKey();

        }
    }
}


b/s由于涉及权限问题,可以使用第三方实现的类库将word转html后读取内容判断<table标签的数量,比如GemBox.Document.dll,网上找下有破解版的

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632

NuGet搜索安装Free Spire.Doc,然后用下面代码获取表格数量:

using Spire.Doc;
using System;

namespace GetTableCount
{
    class Program
    {
        static void Main(string[] args)
        {
            Document doc = new Document();
            doc.LoadFromFile("Tables.docx");
            int tableCount = 0;            
            foreach (Section section in doc.Sections)
            {
                int i = section.Tables.Count;
                tableCount += i;
            }
            Console.WriteLine(tableCount);
            Console.ReadKey();
        }
    }
}


其他Word表格操作:https://www.e-iceblue.cn/content/table.html