Java 迭代器遍历 Excel 行

标签 java excel apache

我正在检查每个 Excel 行并寻找特定值。在我找到该值后,它应该打印有关该行位置的输出。但如果该值不正确或未找到,我将打印未找到匹配项。所以每次我这样做时,我的输出总是:找不到匹配。

附注条形码是我从另一个类解析的字符串值(我调试它值正确传递)。

此外,如果我只写 if case 而没有 else if 程序可以找到该值,但如果值不正确,我将一无所获。

我的问题是,每次运行 if 循环时,无论我的条形码字符串是否正确,我总是找不到匹配项。

我的任务是扫描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) {
    }

最佳答案

代码正在按预期工作。如果可能的话,共享该输入 xlsx 进行调试。

关于Java 迭代器遍历 Excel 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46470183/

相关文章:

java - BoxLayout 中的 Jtable

Java Applet 代码可以在浏览器中运行,但不能在 AppletViewer 中运行

excel - 如何计算非静态数据透视表上最大/最小日期之间的差异?

php - 通过使用 Spatie URL-Signer 生成有限生命周期的链接来保护文件

mysql - PHPMyAdmin 登录后显示空白屏幕

java - JSF 注销页面 - 最佳实践 : is it correct to use one common bean?

java - 将 JOptionPane 与 Xtend 结合使用

excel - 使用表进行数据验证的非 volatile 方式,无需使用 INDIRECT

VBA AutoFilter 隐藏所有行 - 包括匹配条件的行

apache - 如何从Web服务器(如Apache)中调用R?