如何迭代列以获取Excel中的行标签数据?

我正在写一个Java程序,我想要检索具有行标题的数据。 我的Excel表格如下所示:

在这里输入图像说明

我已经写了一个简单的Java代码来基于行标题顺序检索值:

.... try { fileSystem = new POIFSFileSystem (inpStrm); HSSFWorkbook workBook = new HSSFWorkbook (fileSystem); HSSFSheet sheet = workBook.getSheetAt(0); int column = 1; for(int i = 0;i <=3;i++){ for(int j = 0;j<=3;j++){ HSSFRow row = sheet.getRow(j); System.out.print(row.getCell(column).getStringCellValue() + " "); } System.out.println(""); column++; } } catch(Exception e){ e.printStackTrace(); } .... 

运行代码后,我的输出如下所示:

 P1 M C1 Hyderabad P2 M C2 Pune P3 F C3 Pune P4 M C4 Hyderabad 

现在有没有简单可行的方法来做大的Excel表(50行标题)?

如果我使用具有上述四个属性的POGO类,那么如何从Excel中获取具有值的对象列表?

现在有没有简单可行的方法来做大的Excel表(50行标题)?

您可以使用sheet.getLastRowNum()方法作为for循环中的条件来遍历所有行,并在第二个循环中遍历row.getLastCellNum()方法以迭代特定行中的所有单元格。

 for(int rowNumber = 0; rowNumber < sheet.getLastRowNum(); rowNumber++) { HSSFRow row = sheet.getRow(rowNumber); for(int columnNumber = 0; columnNumber < row.getLastCellNum(); columnNumber++) { HSSFCell cell = row.getCell(columnNumber); if(cell != null) { // do something with the cell } } 

重要提示:上面的代码首先遍历每一列,然后遍历每一行。