0
我正在使用apache poi從excel文件讀取一些單元格,單元格的值是純數字,例如, 6944460000,即使我格式化單元格爲文本,程序一直讀取它們爲6.9 + EXXXExcel將數字轉換爲指數形式的文本
if (line.get(0) != null) {
int mpnCellType = line.get(0).getCellType();
switch (mpnCellType) {
case HSSFCell.CELL_TYPE_NUMERIC:
mpn = (String.valueOf(line.get(0).getNumericCellValue()));
break;
case HSSFCell.CELL_TYPE_STRING:
mpn = (line.get(0).getStringCellValue());
break;
}
}
eventhough我檢查的細胞類型,我還是得到了指數形式,這意味着在源文件是這種形式在我讀之前,我怎麼能阻止這種轉換?
我不熟悉Apache poi。但是excel在單元格中存儲值的方式是「純數字」。如果可以使用apache poi訪問源Excel單元格的.Text屬性,那麼應該按照格式化它的方式返回值。將Excel單元格的格式更改爲文本後,輸入數字值不會影響其存儲方式。 – 2014-08-31 11:12:23
[excel字段值越來越3.0E9,我需要3000000000時試圖解析](可能重複)(http://stackoverflow.com/questions/25397377/values-of-excel-field-is-getting-3-0e9 -where-i-need-3000000000-when-trying-to-pa) – Gagravarr 2014-08-31 14:51:01
你沒有正確地將數字轉換爲字符串。查看大約一百個重複問題中的一個,這些問題都提供了正確的方法來完成它 – Gagravarr 2014-08-31 14:52:23