DataFormatter POI do Apache retorna notação científica

Eu tenho um arquivo xlsx que estou lendo com o apache poi 3.17 no java 6. Em um exemplo, tenho uma célula com o valor 123456789011. Isso é lido no java como uma célula NUMERIC CellTypeEnum. Quando eu uso o DataFormatter para obter o valor da célula assim:

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

O valor String sai como "1.234567 + 11". Eu preciso do valor real na célula que é "123456789011". Como posso conseguir isso?

Eu já tentei usar o BigDecimal em Java para converter a String, mas isso retorna "123456700000" porque é o melhor que pode fazer com as informações fornecidas; ou seja, preciso obter o valor correto do objeto da célula real. Eu também tentei usar cell.getNumericCellValue (), mas que retorna um duplo, que tem um limite muito pequeno para manipular o valor original; portanto, ele é recuperado como "1.234567E11", que tem o mesmo problema que o outro método de recuperação.

Existe uma maneira de obter o valor como uma String da célula original, conforme é inserida no xlsx? Não tenho poder sobre o xlsx original.

Obrigado.