我在网上阅读了很多关于如何使用 OpenXML API 获取单元数据的内容。但实际上并没有太多特别简单的东西。大多数似乎是关于写入SpreadsheetML,而不是阅读......但即使这样也无济于事。我有一个电子表格,里面有一个表格。我知道表名是什么,我可以找出它在哪个工作表上,以及表中有哪些列。但我不知道如何取回包含表中数据的行集合。
我有这个来加载文档并获取工作簿的句柄:
SpreadsheetDocument document = SpreadsheetDocument.Open("file.xlsx", false);
WorkbookPart workbook = document.WorkbookPart;
我有这个找到表格/表格:
Table table = null;
foreach (Sheet sheet in workbook.Workbook.GetFirstChild<Sheets>())
{
WorksheetPart worksheetPart = (WorksheetPart)document.WorkbookPart.GetPartById(sheet.Id);
foreach (TableDefinitionPart tableDefinitionPart in worksheetPart.TableDefinitionParts)
{
if (tableDefinitionPart.Table.DisplayName == this._tableName)
{
table = tableDefinitionPart.Table;
break;
}
}
}
我可以通过遍历 table.TableColumns 来迭代表中的列。