Java 如何从excel文件中恢复公式单元格缓存结果
我试图在excel中检索公式单元格的缓存结果,整个列由公式单元格组成,我想将列单元格的缓存结果存储在arraylist中,但我得到了错误。 抱歉,我之前粘贴了错误的代码,现在已修复Java 如何从excel文件中恢复公式单元格缓存结果,java,excel,apache-poi,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"; FileInp
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完整的stacktrace将非常有用。发布的代码似乎与发布的stacktrace没有任何关系-您可以更正它们以匹配吗?为什么要保存计算单元格的类型,而不是值?