use*_*993 6 java excel apache-poi
是否有任何方法可以返回工作表中存在的表列表?我的要求是从工作表上的多个表中获取数据.
假设您正在使用Excel XSSFfor .xlsxexcel文件.如果表是在Insert->Table那时创建的, 那么您可以使用以下方法读取它们:
XSSFWorkbook workbook = new XSSFWorkbook(new File("test.xlsx"));
int numberOfSheets = workbook.getNumberOfSheets();
for(int sheetIdx = 0; sheetIdx < numberOfSheets; sheetIdx++) {
XSSFSheet sheet = workbook.getSheetAt(sheetIdx);
List<XSSFTable> tables = sheet.getTables();
for(XSSFTable t : tables) {
System.out.println(t.getDisplayName());
System.out.println(t.getName());
System.out.println(t.getNumerOfMappedColumns());
}
}
Run Code Online (Sandbox Code Playgroud)
如果table你的意思是什么,有一个边界,那么你必须创建一个不平凡的算法,每读取片的所有单元格,并检查边界(例如leftBorderColor,rightBorderColor,topBorderColor,bottomBorderColor),并通过定义什么是由一个table检查,如果你发现它.