我的一张 Excel 文件中有 3 个表格, 我使用 OpenXML SDK 来读取 Excel 文件,如下所示:
SpreadSheetDocument document = SpreadSheetDDocument.open(/*read it*/);
foreach(Sheet sheet in document.WorkbookPart.Workbook.Sheets)
{
//I need each table or work part of sheet here
}
正如你所见,我可以获取 Excel 的每张工作表,但是如何在每张工作表中获取工作部分,比如我的 3 个表,我应该可以迭代这些表,有人知道这一点吗?有什么建议吗?
最佳答案
这有帮助吗?
// true for editable
using (SpreadsheetDocument xl = SpreadsheetDocument.Open("yourfile.xlsx", true))
{
foreach (WorksheetPart wsp in xl.WorkbookPart.WorksheetParts)
{
foreach (TableDefinitionPart tdp in wsp.TableDefinitionParts)
{
// for example
// tdp.Table.AutoFilter = new AutoFilter() { Reference = "B2:D3" };
}
}
}
请注意,实际的单元格数据不在Table对象中,而是在SheetData中(在WorksheetPart的Worksheet下)。只是想让你知道。
关于c# - 通过 OpenXML SDK 获取 Excel 工作表的表(工作部分),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14453691/