我有这个代码:
String fname = "C:/Users/slim/Desktop/xlsxFiles/plan.xlsx";
InputStream inp = new FileInputStream(fname);
Workbook wb = new XSSFWorkbook(inp);
Sheet sheet = wb.getSheetAt(0);
for (Row row : sheet) {
System.out.println(row.getCell(0));
System.out.println(row.getCell(11));
}
我面临的问题对我来说似乎有点奇怪,因为这是我第一次处理 POI。
cell 0
的内容是一个日期,我完全没有问题,但是 cell 11
的内容它应该是一个数字,返回用于获取内容的公式。以下是示例输出:
31-Aug-2013
L3/5
30-Sep-2013
L3*2/5
31-Oct-2013
L3*3/5
30-Nov-2013
L3*4/5
31-Dec-2013
L3
31-Jan-2014
P8
28-Feb-2014
P9
31-Mar-2014
P10
等等...
我需要做的是显示单元格的实际内容,而不是公式。我确信我错过了一些小东西,但作为一个完全的初学者,我无法发现它。
最佳答案
单元格的实际内容就是公式; Excel 通常不会显示它(而是显示计算公式的结果)。
This document解释了如何计算公式,但通常这不是必需的,因为 Excel 会随公式一起保存最后计算的值。
所以 getCell(11).getNumericCellValue()
可能就足够了。
请注意,在带有文本的单元格上使用此方法时会引发异常。
关于java - 我得到的是公式而不是单元格内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19225662/