最近在做一个c#的程序,需要知道Word中有多少表格,如何用c#语言得到Word中的表格数量
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,网上找下有破解版的
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