#java #apache-poi
#java #apache-poi
Вопрос:
Мой фактический номер: «89148000001958100000» (т. е. данные столбца Excel, после получения данных через плагин apahce poi он преобразуется в 8.91480000019581 E 019.
Фрагмент кода преобразования :
импортируйте org.apache.poi.ss.usermodel.Ячейка;
двойной dd = cell.getNumericCellValue();
Как я могу получить свое фактическое число в файле Excel.
Пожалуйста, предложите…
Ответ №1:
DataFormatter fmt = new DataFormatter();
String value= fmt.formatCellValue(cell);
Вы можете отобразить значение таким, какое оно есть в Excel, используя DataFormatter
Вы также можете преобразовать строку в требуемый формат, используя классы BigDecimal или BigInteger для хранения больших значений
Ответ №2:
Я получил решение для преобразования числа в научной записи в обычное число
Фрагмент кода:
NumberFormat formatter = new DecimalFormat("#0");
String opt = formatter.format(value);
Этот код выдает фактическое число.
Ответ №3:
Вы также можете использовать BigDecimal для этого. Вы также можете напрямую возвращать десятичное или строковое представление большого числа.
Допустим, ячейка содержит большое значение
private String getStringValue(Cell cell)
{
if(cell.getCellType()==CellType.NUMERIC)
{
return new BigDecimal(String.valueOf(cell.getNumericCellValue())).toPlainString();
}
else if(cell.getCellType() == CellType.STRING)
{
return cell.getStringCellValue();
}
return "";
}