получить результат в getCellFormula - PullRequest
0 голосов
/ 02 октября 2018

Я читаю Excel с Java, в моей ячейке у меня есть формула, но я хочу получить результат -> 20 000 или 2,154 и т. Д., Но я получаю ->

IF (F2 = "Купить", + (H2-G2 + 1) * I2, + (H2-G2 + 1) I2 (- 1))


switch (cell.getCellType()) {

    case Cell.CELL_TYPE_FORMULA:
        stringValue = cell.getCellFormula();
    break;

....

проблема в том, что я не смог вычислить эту формулу, потому что я читал ячейку excel, а затем ячейку ... h2-g2 ... мой код этого не знает ...

Я использую

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.15</version>
</dependency>

, как я могу получить значение ячейки?

Cell.CELL_TYPE_FORMULA: ---> IF(F2="Buy",+(H2-G2+1)*I2,+(H2-G2+1)*I2*(-1))
Cell.CELL_TYPE_STRING: ----> IF(F2="Buy",+(H2-G2+1)*I2,+(H2-G2+1)*I2*(-1))

Спасибо !!

РЕДАКТИРОВАТЬ, я изменил ->

case Cell.CELL_TYPE_FORMULA:
    stringValue = String.valueOf(cell.getNumericCellValue());
break;

результат -> 5.475E7 этот результат плохой, у моего Excel 54.750.000 visually

1 Ответ

0 голосов
/ 02 октября 2018

Полученное вами значение верное, поэтому вы почти у цели, просто оно не отформатировано, как вы ожидаете.

Попробуйте:

    String stringValue = NumberFormat.getNumberInstance().format(cell.getNumericCellValue());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...