Apache POI DataFormatter devuelve notación científica

Tengo un archivo xlsx que estoy leyendo con apache poi 3.17 en java 6. En un caso, tengo una celda con el valor 123456789011. Esto se lee en java como una celda NUMERIC CellTypeEnum. Cuando uso DataFormatter para obtener el valor de la celda de esta manera:

DataFormatter formatter = new DataFormatter(Locale.US); String strVal = formatter.formatCellValue(cell);

El valor de la cadena aparece como "1.234567 + 11". Necesito el valor real en la celda que es "123456789011". ¿Cómo puedo conseguir eso?

Ya intenté usar BigDecimal en Java para convertir la cadena, pero eso devuelve "123456700000" porque eso es lo mejor que puede hacer con la información dada; lo que significa que necesito obtener el valor correcto del objeto de celda real. También intenté usar cell.getNumericCellValue () pero eso devuelve un doble, que tiene un límite demasiado pequeño para manejar el valor original, por lo que se recupera como "1.234567E11", que tiene el mismo problema que el otro método de recuperación.

¿Hay alguna manera de obtener el valor como una Cadena de la Celda original a medida que se ingresa en el xlsx? No tengo poder sobre el xlsx original.

Gracias.

Respuestas a la pregunta(1)

Su respuesta a la pregunta