【发布时间】:2018-05-03 23:25:55
【问题描述】:
我需要处理#REF!我的excel中的单元格,我在哪里得到#REF!我需要向数据结构返回 0 或空引号。 我试过这样做,但我无法成功,这里是 sn-p:-
if (valueCell.getCellType() == Cell.CELL_TYPE_FORMULA) {
if (valueCell.getCellStyle().getDataFormatString().contains("%")) {
// Detect Percent Values
values.put(valueHeader, String.valueOf(Double.valueOf(valueCell.getNumericCellValue() * 100).intValue()) + "%");
}else if (valueCell.getCellType() == Cell.CELL_TYPE_ERROR) {
values.put(valueHeader,"");
} else {
values.put(valueHeader,String.valueOf(valueCell.getNumericCellValue()));
}
}
它不会进入 else if 条件。它抛出
无法从 STRING 单元格中获取 NUMERIC 值
请帮帮我。
【问题讨论】:
-
为什么不在excel的单元格中使用ifferror(),然后再从外部调用它?
-
@Solar Mike 我无法编辑作为输入的 excel 文件。
-
如果你有这个文件,你可以复制它:只需使用
=IFERROR(A1,0)并将它拖到你需要的宽度和高度。 -
那为什么要用excel标记这个问题呢?这不是一个excel问题,但你可以考虑让文件的生产者来做。
-
“它不会进入 else if 条件。”为什么要呢?如果单元格包含公式并且此公式导致错误,则数据格式字符串不会更改。您可以在这里尝试我的回答中的方法:stackoverflow.com/questions/45325694/….
标签: java excel apache-poi xssf