gpt4 book ai didi

java - Apache POI - 生成日期无法相应排序

转载 作者:行者123 更新时间:2023-11-29 05:01:43 25 4
gpt4 key购买 nike

使用 Apache POI API,我已经能够在 Excel 上正确生成整数和 float 。我可以验证它们是否正确,尤其是当我使用排序功能时。

我只是将值转换为它们各自的类型,API 会处理剩下的事情。

但是,此技术不适用于日期(我将它们转换为 java.util.Date),它们的格式正确,但排序不准确。

有什么建议吗?

我尝试了两种选择:

第一个:cell.setCellValue(new Date(value));

第二个:cell.setCellValue(new SimpleDateFormat("dd/MM/yyyy").format(new Date(value)));

最佳答案

以相反的顺序获取您的代码:

cell.setCellValue(new SimpleDateFormat("dd/MM/yyyy").format(new Date(value)));

不要这样做。它将日期转换为字符串,就像在 Excel 中您进入单元格并键入 '01/01/2010 - 前面的 ' 强制字符串


cell.setCellValue(new Date(value));

这就快到了。您需要关注 POI instructions on creating a date cell , 并将单元格格式化为所需日期格式的日期单元格

例如,对于 dd/mm/yyyy,一旦接近文件顶部,请执行以下操作:

CreationHelper createHelper = wb.getCreationHelper();
CellStyle dateCellStyle = wb.createCellStyle();
dateCellStyle.setDataFormat(
createHelper.createDataFormat().getFormat("dd/MM/yyyy"));

然后为你的单元格设置+样式

cell.setCellValue(new Date(value));
cell.setCellStyle(dateCellStyle);

关于java - Apache POI - 生成日期无法相应排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31917615/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com