java poi使用for循环获取Cell值

时间:2015-09-03 08:53:24

标签: java apache-poi

目前我们实现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循环

2 个答案:

答案 0 :(得分:4)

如果您是Google,那么您将在Apache POI中阅读有关excel文件的数千个示例:

只是为了给你一个开始,你做这样的事情,然后在需要的时候探索javadoc。

如果你遇到困难或面临问题。尝试调试/搜索。如果您还有任何问题,请回复此处提供所有详细信息:

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));
    }

}

答案 1 :(得分:1)

要更有效地迭代单元格,请尝试使用每种语法:

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

这将跳过丢失的单元格,如果您的数据不是从第1列开始,则不会抛出错误。