代碼:
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);
}
}
}
}