Я пытаюсь скопировать значение ячейки файла Excel в другой файл Excel.Однако исходный файл содержит формулу, и когда я получаю ячейку, я получаю формулу, и в моем конечном файле я получаю формулу, а не ее значение.
for (int j = 0; j < cellSource[0].length; j++)
{ //For each columns of source
for (int i = 0; i < cellFinal[0].length ; i++)
{ //For each columns of final
if (cellSource[0][j].toString().equals(cellFinal[0][i].toString()))
{ //Checking is Equals
for (int p = 0; p < cell.length; p++)
{ //If their are equals, replace the data
cellFinal[p][i].setCellValue(cellSource[p][j].toString());
//Replace the value with the Formula of the main
}
}
}
}
Я пробовал несколько вещей, как getCachedFormulaResultType()
, ноэто не работает ..
Cell cell = rowFileDa.getCell();
switch (cell .getCellType()) {
case FORMULA:
fileDa[i][j] = cell.getCachedFormulaResultType().toString();
break;
//Return NUMERIC
}
Спасибо!
Решено:
cellValue = evaluator.evaluate(cellSource[p][j]);
String tmp = cellValue.formatAsString();
tmp = tmp.replace("\"", "");
if (isNumeric(tmp) == false) {
cell[p][i].setCellValue(tmp);
} else {
double tmpBis = Double.valueOf(tmp);
cell[p][i].setCellValue(tmpBis);
}
Спасибо за помощь, ребята!