现在我们已经构建了一个函数,它使用 apache.poi 将一个大的 xlsx 文件(超过 200MB)导入 DB,并遍历所有读取该数据的 xml 文件。
该功能已完成,但有一个问题:
当我在 xlsx 单元格中输入值“1:16”时,它会自动覆盖存储类型为“用户定义的数字”
在 xml 文件中你会看到
<c r="A1" s="1"><v>5.2777777777777778E-2</v></c>
,我只需要得到那个值 '1:16'
我能怎么做?
现在我们已经构建了一个函数,它使用 apache.poi 将一个大的 xlsx 文件(超过 200MB)导入 DB,并遍历所有读取该数据的 xml 文件。
该功能已完成,但有一个问题:
当我在 xlsx 单元格中输入值“1:16”时,它会自动覆盖存储类型为“用户定义的数字”
在 xml 文件中你会看到
<c r="A1" s="1"><v>5.2777777777777778E-2</v></c>
,我只需要得到那个值 '1:16'
我能怎么做?
Excel 将“数字”1:16 转换为时间,并将 Excel 中的日期/时间存储为数字,其中整数部分是自纪元以来的天数,小数部分是当天的百分比。
所以在你的例子中:
= 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);
...
}