我试图在 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/