我已经在网络上阅读了很多有关如何使用OpenXML API获取单元格数据的内容。但是实际上并没有太多特别简单的地方。多数似乎与写SpreadsheetML有关,而不是阅读...但是即使那样也无济于事。我有一个包含表格的电子表格。我知道表的名称是什么,我可以找出它所在的表以及表中的列。但是我不知道如何获取包含表中数据的行集合。
我已经准备好加载文档并获得工作簿的句柄:
SpreadsheetDocument document = SpreadsheetDocument.Open("file.xlsx", false);
WorkbookPart workbook = document.WorkbookPart;
Run Code Online (Sandbox Code Playgroud)
我已经找到表/表了:
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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我可以通过遍历table.TableColumns遍历表中的列。