使用 Apache Poi 从 Excel 工作表获取单元格值
如何在java中使用poi获取单元格值?
我的代码看起来像这样
String cellformula_total__percentage= "(1-E" + (rowIndex + 2) + "/" + "D" + (rowIndex + 2) + ")*100";
cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
cell.setCellStyle(this.valueRightAlignStyleLightBlueBackground);
cell.setCellFormula("abs(" + cellformula_total__percentage + ")");
但是如果在这种情况下我如何检查我的单元格值是否包含像#DIV/0这样的错误值!我怎样才能将其替换为 N/A
How to get cell value with poi in java ?
My code is look like this
String cellformula_total__percentage= "(1-E" + (rowIndex + 2) + "/" + "D" + (rowIndex + 2) + ")*100";
cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
cell.setCellStyle(this.valueRightAlignStyleLightBlueBackground);
cell.setCellFormula("abs(" + cellformula_total__percentage + ")");
But if there is in this case how can i check that my cell value contain error value like #DIV/0! and how can i replace it with N/A
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您必须使用 FormulaEvaluator,如此处所示。如果单元格包含这样的公式,这将返回一个值,该值要么是单元格中存在的值,要么是公式的结果:
如果您需要精确的内容(即,如果单元格包含公式,则为公式),然后显示此处。
编辑:
添加了一些示例来帮助您。
首先你得到单元格(只是一个例子)
如果你只想使用公式将值设置到单元格中(不知道结果):
如果你想更改消息,如果有单元格中存在错误,您必须更改公式才能执行此操作,例如
(此公式检查计算是否返回错误,然后显示字符串“N/A”,或者如果是则显示计算不是错误)。
如果你想得到公式对应的值,那么你必须使用求值器。
希望这对你有帮助,
纪尧姆
You have to use the FormulaEvaluator, as shown here. This will return a value that is either the value present in the cell or the result of the formula if the cell contains such a formula :
if you need the exact contant (ie the formla if the cell contains a formula), then this is shown here.
Edit :
Added a few example to help you.
first you get the cell (just an example)
If you just want to set the value into the cell using the formula (without knowing the result) :
if you want to change the message if there is an error in the cell, you have to change the formula to do so, something like
(this formula check if the evaluation return an error and then display the string "N/A", or the evaluation if this is not an error).
if you want to get the value corresponding to the formula, then you have to use the evaluator.
Hope this help,
Guillaume
可能是:-
对于特定类型的细胞,您可以尝试:
May be by:-
For specific type of cell you can try: