java - 我得到的是公式而不是单元格内容

标签 java excel apache-poi

我有这个代码:

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/

相关文章:

java - do while 循环..如果给出正确的输入则继续

java - 为什么从 App Engine 数据存储中获取 MakePersistentAll 中的 DeadlineExceededException?

Excel 每行分隔一个单元格值

java.lang.IllegalStateException : Cannot get a numeric value from a text cell Exception while uploading excel sheet to server 错误

java - header 签名无效 - 使用 Apache POI 打开 XLS

java - jar执行错误: could not find or load main class xxx

java - 在 Java 中获取 TIFF 图像的像素值

java - Android:在服务内的定时器任务处更新 GUI

asp.net - 从 Internet 打开 excel 文件会打开一个空白的 excel 窗口

excel - 如何使用 XML HTTP 请求在 Visual Basic for Applications 中提取 Web 数据?