将jxl代码转换为poi以读取XLSX文件

时间:2015-08-07 05:43:05

标签: java excel apache-poi jxl

最近我使用jxl jar来读取XLS excel文件。但是因为我必须阅读XLSX excel文件,所以我使用的是poi jar。在使用poi jar时,可以使用不同的类。我必须从工作表中读取所有可用行的每个单元格。使用jxl时,我在代码下面建了......

private static class SRAccess implements RowAccess {
    final Cell[] cells;

    SRAccess(Cell[] cells) {
        this.cells = cells;
    }

    public String[] get() {
        String[] colValues = new String[cells.length];
        for (int j = 0; j < cells.length; j++) {
           colValues[j] = cells[j].getContents().trim();
        }
        return colValues;
    }

    public void set(String[] values) {
        for (int i = 0; i < cells.length; ++i) {
            if (i >= values.length)
                break;
        }
    }

    public void set(int colIx, String value) {
        // cells[colIx].setContents(value);
    }
}

public static int access(Sheet sheet, RowHandler rowHandler) {
    int count = 0;
    for (int i = 0; i < sheet.getRows(); i++) {
        Cell cells[] = sheet.getRow(i);

        boolean rc = rowHandler.handleRow(new SRAccess(cells), i);
        if (!rc)
            break;
        ++count;
    }
    return count;
}  

我在这里面对的是,在使用jxl时,我能够通过计算工作表中可用的行数来读取每一行,从而读取该行中的所有单元格(如access()方法所示) )。但是在使用poi时,没有这样的方法可以直接提供行数。我们必须使用迭代器。但我必须使用这两个函数,我想知道如何知道Cell []类型并将其传递给SRAcces()方法?

0 个答案:

没有答案