如何迭代列以获取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 } }
重要提示:上面的代码首先遍历每一列,然后遍历每一行。