使用POI HSSFCell和前导零读取excel

我正在尝试阅读使用Java POI HSSF的Excel文件。 一切工作正常,除了当值是001001 HSSFCell将返回1001.0

有什么办法可以使用HSSFCell获得值001001?

我不应该对excel文件做任何修改。

提前感谢您的帮助和build议。

编辑

我一直在使用下面的代码:

cell.setCellType(Cell.CELL_TYPE_STRING); cell.toString();

我也运行了一个debugging模式,并在HSSF抓取它时检查单元格值。 它截断前导零并将其转换为双倍,因此我没有看到一种方法来检索截断的零。 有一个链接指出它可能是来自HSSF的一个错误: http : //osdir.com/ml/jakarta.poi.user/2003-02/msg00007.html

顺便说一下,我通过硬编码来解决这个问题。 数字的数量是先进的知道。 我使用的代码的链接: 如何格式化与前导零的Javastring?

你可以尝试读取它作为一个string,而不是数字,

cell.setCellType(Cell.CELL_TYPE_STRING); 

更改单元格types通常不会修改单元格的内容。 它可以通过以下任一方法来检索:

 cell.getStringCellValue(); cell.getRichStringCellValue().getString();