我正在检查每个Excel行并寻找某些值。发现该值后,它应该打印出有关该行位置的输出。但是,如果该值不正确或找不到,我找不到打印匹配项。因此,每次我执行此操作时,我的输出始终是:找不到匹配。
P.S。条形码是我的字符串值从另一个类中解析(我调试IT值正确传递)。
此外,如果我只在没有其他情况下的情况下写入该值可以找到该值,但是如果有不正确的值,我将一无所获。
我的问题是,每次我运行时,如果我的条形码字符串正确与否,我总是找不到匹配。
我的任务是扫描Excel文件并找到我在这种情况下需要的值并打印整个行,但是如果条形码不正确,我需要打印该匹配,没有发现用户能够知道他输入的条形码是不正确。
try {
FileInputStream file = new FileInputStream(new File("Turto sarašas 2016.09.30.xlsx"));
//Create Workbook instance holding reference to .xlsx file
XSSFWorkbook workbook = new XSSFWorkbook(file);
//Get first/desired sheet from the workbook
XSSFSheet sheet = workbook.getSheetAt(0);
//Iterate through each rows one by one
Iterator<Row> rowIterator = sheet.iterator();
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
//For each row, iterate through all the columns
Iterator<Cell> cellIterator = row.cellIterator();
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
//Check the cell type and format accordingly
final DataFormatter df = new DataFormatter();
String valueAsString = df.formatCellValue(cell);
if (valueAsString.equals(barcode)) {
System.out.print("Hello" + row.getCell(0));
System.out.print("Hello" + row.getCell(3));
} else if (!valueAsString.equals(barcode)) {
System.out.println(" Match not found");
}
}
}
file.close();
} catch (IOException e) {
}
代码正常工作。如果可能