如何从该行中find特定的string后打印Excel表格的整个行?

这是我用来在Excel工作表中查找特定string的代码。

FileInputStream fis = new FileInputStream(new File("D:\\excel_file.xlsx")); workbook = new XSSFWorkbook(fis); for(int i = 0; i < workbook.getNumberOfSheets(); i++) { XSSFSheet spreadsheet = workbook.getSheetAt(i); Iterator<Row> rowIterator = spreadsheet.iterator(); while (rowIterator.hasNext()) { row = (XSSFRow) rowIterator.next(); Iterator<Cell> cellIterator = row.cellIterator(); while (cellIterator.hasNext()) { Cell cell = cellIterator.next(); String test_string = "search_phrase"; if (cell.getCellType() == Cell.CELL_TYPE_STRING) { if (test_string.trim().equalsIgnoreCase(cell.getStringCellValue().trim())) { flag = 1; rowNum = row.getRowNum(); System.out.println("found"); } } } fis.close(); workbook.close(); } } if(flag==0) { System.out.println("not found"); } 

我也可以很容易地得到行号。

但是使用行号我无法弄清楚如何获得该行的所有单元格。

无需查找行号。 如果条件符合,并且您有row那么您可以使用以下代替Flag=1;

 Iterator<Cell> cellItr = row.iterator(); while(cellItr.hasNext()){ System.out.println(cellItr.next().toString()); } 

不过,我假设单元格中的数据types是string。 如果没有,你需要pipe理单元格数据types和missingCellPolicy的完美。