[英]Is it possible to read the data from different sheets in a same xlsx file?
我正在使用 Apache POI 读取 xlsx 文件。 我可以读取 Sheet1 数据。 但是当尝试读取 Sheet2 时,我只获取 Sheet1 数据。
String strPath = "..\\Test.xlsx";
File excelFile = new File(strPath);
FileInputStream fis = new FileInputStream(excelFile);
// we create an XSSF Workbook object for our XLSX Excel File
XSSFWorkbook workbook = new XSSFWorkbook(fis);
Sheet sheet1= workbook.getSheetAt(0);
Sheet sheet2= workbook.getSheetAt(1);
这是如何使用 apache POI https://www.callicoder.com/java-read-excel-file-apache-poi/
这是他们在不同工作表上迭代的部分
// 1. You can obtain a sheetIterator and iterate over it
Iterator<Sheet> sheetIterator = workbook.sheetIterator();
System.out.println("Retrieving Sheets using Iterator");
while (sheetIterator.hasNext()) {
Sheet sheet = sheetIterator.next();
System.out.println("=> " + sheet.getSheetName());
}
当您调用getSheetAt(i)
,它返回一个XSSFSheet
对象,该对象实现了org.apache.poi.ss.usermodel
下的Sheet
接口。 考虑下面的代码块:
XSSFSheet sheet = workbook.getSheetAt(0);
System.out.println(sheet.getRow(0).getCell(0).getStringCellValue());
sheet = workbook.getSheetAt(1);
System.out.println(sheet.getRow(0).getCell(0).getStringCellValue());
上面的代码应该打印文档上前两张表的单元格 A1 的内容。 我自己用一个测试文件完成了它,它起作用了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.