代码:
using System; using System.Linq; using DocumentFormat.OpenXml.Packaging; using DocumentFormat.OpenXml.Spreadsheet; namespace OpenXmlExcelGetTables { class Program { static void Main(string[] args) { using (SpreadsheetDocument document = SpreadsheetDocument.Open("Tables.xlsx", true)) { WorkbookPart wbPart = document.WorkbookPart; Sheet theSheet = wbPart.Workbook.Descendants<Sheet>().Where(s => s.Name == "Sheet1").FirstOrDefault(); if (theSheet == null) { throw new ArgumentException("sheetName"); } WorksheetPart wsPart = wbPart.GetPartById(theSheet.Id) as WorksheetPart; // get the tables in Excel int count = wsPart.GetPartsOfType<TableDefinitionPart>().Count(); Console.WriteLine(count); } } } }