我已经在网上阅读了许多关于如何使用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上进行foreach循环来迭代表格中的列。