Apache POI – 生成的date相应地不可sorting
使用Apache POI API,我已经能够在Excel上生成正确的整数和浮点数。 我可以validation他们是正确的,尤其是当我使用sortingfunction。
我简单地将值转换为它们各自的types,API处理剩下的部分。
但是,这种技术没有与date(我将它们转换为java.util.Date
),它们格式正确,但sorting不正确。
有什么build议么?
我尝试了两种select:
第一个: 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)));
不要这样做。 它将date转换为一个string,就像在Excel中进入一个单元格并键入'01/01/2010
– 在前面强制为一个string
cell.setCellValue(new Date(value));
这几乎在那里。 您需要按照POI说明创builddate单元格 ,并将单元格格式化为所需date格式的date单元格
例如,对于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);
- 使用POIparsingExcel,但得到exception“无效的标头签名”
- 我可以使用java或任何API自动刷新Excel文件吗?
- 使用Apache POI密码保护.XLS Excel文件
- NPOI / POI Excel库ISheet.ShiftRows索引超出范围例外
- 使用Apache POI的Java Selenium – 读取一个Excel文件将这两个行拉在一起
- 使用POI库parsingExcel表格中的电话号码
- 在打开使用Java创build的Excel电子表格时出现input/输出错误
- 如何在创build新的Excel文件时初始化单元格(Apache POI)
- 限制Excel使用apachePOI在Java中不使用OS默认date格式