java - 如何使用java在apache poi中使用rowiterator?

标签 java row apache-poi hssf

我试图在 java 中使用 apache poi 读取 excel 文件,但是,Eclipse 没有编译代码。

public class ReadExcel {

    public static void main(String[] args) throws IOException {

        FileInputStream file = new FileInputStream(new File("C:\\Users\\XXXXXXXXXXXXXXXXal\\042012.xls"));
        HSSFWorkbook wb = new HSSFWorkbook(file);
        HSSFSheet sheet = wb.getSheetAt(0);
        Iterator<Row> rowIterator = sheet.iterator();

        while (rowIterator.hasNext()) {

        Row row = rowIterator().next();      \\ THIS LINE GETS UNDERLINED BY ECLIPSE!!!
         Iterator<Cell> cellIterator = row.cellIterator();
            while(cellIterator.hasNext()) {

                Cell cell = cellIterator.next();

                        System.out.print(cell.getStringCellValue() + "\t\t");

                            }

        }
        file.close();
        FileOutputStream out =
            new FileOutputStream(new File("C:\\test.xls"));
        wb.write(out);
        out.close();
        }


    }

Eclipse 总是在 Row row = rowIterator().next(); 行下划线。我不知道为什么?我该如何改进它?

最佳答案

问题不在于eclipse,而在于代码。您不能将作为变量的 rowIterator 视为一种方法。您不能使用 () 语法调用变量。

试试这个:

  public static void main(String[] args) throws IOException {
    FileInputStream file = new FileInputStream(new File("C:\\Users\\XXXXXXXXXXXXXXXXal\\042012.xls"));
    HSSFWorkbook wb = new HSSFWorkbook(file);
    HSSFSheet sheet = wb.getSheetAt(0);
    Iterator<Row> rowIterator = sheet.iterator();
    while (rowIterator.hasNext()) {
      Row row = rowIterator.next();
      Iterator <Cell> cellIterator = row.cellIterator();
      while (cellIterator.hasNext()) {
        Cell cell = cellIterator.next();
        System.out.print(cell.getStringCellValue() + "\t\t");
      }
    }
    file.close();
    FileOutputStream out =
      new FileOutputStream(new File("C:\\test.xls"));
    wb.write(out);
    out.close();
  }

关于java - 如何使用java在apache poi中使用rowiterator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19280956/

相关文章:

php - 避免在循环期间连续显示空列

java - 为什么在 XSSFRow 中使用 copyRowFrom(...) 时出现 IllegalArgumentException?

java - Eclipse 声称 Commons-Codec 方法不存在

java - 我的 .xml 文件布局在模拟中未正确显示

wpf - DataGrid Row 上的 ContextMenu 命令不起作用

css - 列图像全宽响应

java - 显示 Controller 中的日期对象/值以在 Play Framework/Scala 中查看

java - 无法将图像按钮转换到小部件按钮

java - 使用 Apache POI 从 Java 应用程序删除行时不更新 Excel 公式

java - Row row = sheet.getRow(row Number) 即使 Excel 工作表中存在行,也会返回 java.lang.nullpointerexception。我正在使用 Apache POI