Как напечатать число больше 7 цифр, используя poi (2.5) из листа Excel в консоли, используя Java - PullRequest
10 голосов
/ 20 января 2011

при извлечении значения, которое оно выдает в экспоненциальном формате для больших чисел.

while (cells.hasNext ())
{
HSSFCell cell = cells.next ();

System.out.println ("Cell No.: " + cell.getCellNum ());

/*
 * Now we will get the cell type and display the values
 * accordingly.
 */
switch (cell.getCellType ())
{
 case HSSFCell.CELL_TYPE_NUMERIC :
 {

  // cell type numeric.
  System.out.println ("Numeric value: " + cell.getNumericCellValue());


  break;
 }

оно дает значения для чисел, чьи цифры больше 7eg. (12345678), как в экспоненциальном.помогите мне получить значение в том же формате.

Ответы [ 3 ]

6 голосов
/ 20 января 2011

Самый простой способ - использовать BigDecimal :

System.out.println("Numeric value: " + new BigDecimal(cell.getNumericCellValue()));
5 голосов
/ 20 января 2011

Я бы использовал экземпляр DecimalFormat.

DecimalFormat df = new DecimalFormat("#.00000000");
System.out.print(df.format(cell.getNumericCellValue()));
2 голосов
/ 16 мая 2016

В пакете org.apache.poi.ss.util есть класс NumberToTextConverter со статическим членом toText, который может помочь представить любое числовое значение в виде строки. Например:

String value = NumberToTextConverter.toText(cell.getNumericCellValue());

P.S. Я знаю, что с того момента, когда вопрос был задан, прошло почти 5 лет. Но тем не менее надеюсь, что мое решение кому-то поможет

...