xlsx分析:其中XML值与单元格值不同

现在我们已经构build了一个函数,使用apache.poi将大的xlsx文件(大于200MB)导入到数据库中,然后遍历所有读取该数据的xml文件。

该function已经完成,但有一个questuion:

当我在xlsx单元格中input一个'1:16'值时,它会将covery商店types自动设置为'user-defined-numeric'

在xml文件中,您将看到<cr="A1" s="1"><v>5.2777777777777778E-2</v></c>

我能怎么做?

Excel中的“数字”1:16被转换为excel中的时间和date/时间,并被存储为一个数字,其中整数部分是历元以来的天数,小数部分是一天中的百分比。

所以在你的例子中:

 = 0.0527777777777778 *24 *60 (hours * minutes) = 76 mins = 1 hour 16 mins 

使用POI,您将需要使用数据格式化程序 。 就像是:

 DataFormatter formatter = new DataFormatter(Locale.US); if(DateUtil.isCellDateFormatted(cell)) { String formattedData = formatter.formatCellValue(cell); ... }