如何从excel文件恢复公式单元格缓存结果

时间:2015-04-06 01:10:27

标签: java excel apache-poi

我正在尝试在excel中检索公式单元格的缓存结果,整个列由公式单元格组成,我想将列的单元格的缓存结果存储在arraylist中,但是我得到了错误。 道歉,我先前粘贴了错误的代码,现在修复了。

public static void main(String[] args) throws Exception {
    String filename = "C:/Users/L30902/Desktop/eclipse folder/FeaturesTest/student.xlsx";
    FileInputStream fis = null;
    int cellvalue = 0;

    try {
        fis = new FileInputStream(filename);
        XSSFWorkbook workbook = new XSSFWorkbook(fis);
        XSSFSheet sheet = workbook.getSheetAt(0);
        Iterator rowIter = sheet.rowIterator();

        while (rowIter.hasNext()) {
            XSSFRow myRow = (XSSFRow) rowIter.next();
            Iterator cellIter = myRow.cellIterator();
            Vector<String> cellStoreVector = new Vector<String>();
            while (cellIter.hasNext()) {
                XSSFCell myCell = (XSSFCell) cellIter.next();
                try {
                    cellvalue = myCell.getCachedFormulaResultType();
                } catch (Exception e) {
                }
                cellStoreVector.addElement(Integer.toString(cellvalue));
            }
            String secondcolumnValue = null;

            int i = 0;
            secondcolumnValue = cellStoreVector.get(i).toString();

            insertQuery(secondcolumnValue);
        }

    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (fis != null) {
            fis.close();
        }
    }
    // showExelData(sheetData);
}

private static void insertQuery(String secondcolumnvalue) {
    System.out.println(secondcolumnvalue);
}

我应该返回500,33等值,但我只返回0,0

0 个答案:

没有答案