java poi 使​​用 for 循环获取单元格值

java poi get Cell value using for Loop

目前我们实现的是 poi 而不是 jxl,所以现在我想获取单元格内容并传递到方法中直到最后一行

代码:

    FileInputStream file = new FileInputStream(new File("F:\AUT.xlsx"));
    XSSFWorkbook workbook = new XSSFWorkbook(file);
    XSSFSheet sheet = workbook.getSheetAt(0);
    for (int row = 1; row <= sheet.getPhysicalNumberOfRows(); row++) {
        String cellvalue = 
    }

在 for 循环中收集第一行值并存储到一个 String 变量中并将该值传递给一个方法,然后循环继续到最后一行

告诉我如何使用 for 循环

如果您 Google 您的问题,您将获得数以千计的阅读 Apache POI 中 excel 文件的示例。

如果您遇到困难或遇到问题,请尝试 debug/search,然后探索 javadocs 寻找答案。如果您仍有问题,请返回此处提供所有详细信息。

为了给你一个开始,做这样的事情:

XSSFWorkbook wb = new XSSFWorkbook(new File("MyExcel.xls"));
XSSFSheet sheet = wb.getSheetAt(0);
DataFormatter formatter = new DataFormatter();
for (Iterator iterator = sheet.rowIterator(); iterator.hasNext();) {
    XSSFRow row = (XSSFRow) iterator.next();
    for (int i = 0; i < row.getPhysicalNumberOfCells(); i++) {
        XSSFCell cell = row.getCell(i);
        System.out.println(formatter .formatCellValue(cell));
    }

}

要更有效地遍历单元格,请尝试 for each 语法:

for (Row r : sheet) {
    for (Cell c : r) {
        ... do something
    }
}

这将跳过缺失的单元格,如果您的数据不是从第 1 列开始,也不会引发错误。