Java 如何使用ApachePOI获取单元格内显示的确切值
我尝试使用ApachePOI来获取EXCEL文件的单元格值,以便在另一个应用程序中显示这些值 我有一个问题,因为我没有得到我在Excel上看到的确切值。 例如:Java 如何使用ApachePOI获取单元格内显示的确切值,java,excel,apache-poi,Java,Excel,Apache Poi,我尝试使用ApachePOI来获取EXCEL文件的单元格值,以便在另一个应用程序中显示这些值 我有一个问题,因为我没有得到我在Excel上看到的确切值。 例如: ----------------------------------------------------------- |What is inside the Excel | What I get with Apache POI | -------------------------------------------------
-----------------------------------------------------------
|What is inside the Excel | What I get with Apache POI |
-----------------------------------------------------------
| 2019-03-02 | Sat Mar 02 20:45:00 CET 2019 | getDateCellValue()
-----------------------------------------------------------
| 19 | 19.0 | getNumericCellValue()
-----------------------------------------------------------
当我用Excel打开文件时,我应该怎么做才能得到单元格内的确切值
谢谢您已经获得了确切的值…请使用
DataFormatter
执行,如中所示。不要在//之后忽略代码。或者,获取值并自己格式化它。
。您得到了精确的值,这取决于您如何格式化和输出这些值。我也有同样的问题。。在我的Excel中,我有一个值“5.347838”,但是poi返回“5.3478379999999”。。。在另一行中,我有“768.13”,但poi给了我“768.130000000001”。。因此,看起来在幕后转换为双偶发事件时,您已经得到了确切的值…请使用DataFormatter
执行,如中所示。不要在//之后忽略代码。或者,获取值并自己格式化它。
。您得到了精确的值,这取决于您如何格式化和输出这些值。我也有同样的问题。。在我的Excel中,我有一个值“5.347838”,但是poi返回“5.3478379999999”。。。在另一行中,我有“768.13”,但poi给了我“768.130000000001”。。因此,看起来在幕后发生了一个双重转变