当前位置: 首页 > 知识库问答 >
问题:

如何使用java apache poi库在excel中设置日期字段?

农弘毅
2023-03-14

我必须使用java apache poi库在excel文件(.xlsx或.xls)中设置日期字段。

我尝试过设置单元格的cellStyle和dataFormat,但它没有将其设置为日期字段,而是将其存储为字符串或数值字段。

XSSFWorkBook wb = new XSSFWorkBook();
CellStyle cellStyle = wb.createCellStyle();
CreationHelper createHelper = wb.getCreationHelper();
cellStyle.setDataFormat(createHelper.createDataFormat().getFormat("dd-mm-yyyy")); // I have tried different formats here but none working
cell = row.createCell(1);
cell.setCellValue(new Date()); // does not store anything
//cell.setCellValue(new Date().getTime()); // stores the time in milliseconds
//cell.setCellValue(new SimpleDateFormat("dd-MM-yyyy").format(new Date()));
cell.setCellStyle(cellStyle);

共有1个答案

田瀚
2023-03-14

Excel中的日期是数字的,具有日期格式。因此您需要相应地设置单元格的格式:

Date date = ...
cellStyle.setDataFormat(wb.getCreationHelper().createDataFormat().getFormat("dd-mm-yyyy"));
cell.setCellType(CellType.NUMERIC);
cell.setCellValue(date);
cell.setCellStyle(cellStyle);
 类似资料:
  • 我正在使用apache poi 3.8创建一个excel文件。这个excel文件需要包含一些日期。 我正在尝试将日期写入excel文件,格式为excel类型“date”。但我总是得到一个“自定义”类型。我需要使用“日期”类型,因此它将根据用户设置进行本地化。 我尝试了以下方法: Apache poi日期格式 Apache POI将Date本地化到Excel单元格 但它不起作用。 这是我的代码: 我

  • 我知道我可以像这样轻松地在JSP中格式化日期: 我做错了什么?

  • 我无法设置日期格式。接受作为参数。所以我创建了一个新的 它说below Date()方法不推荐使用,并且我在运行时得到below异常。 例外情况: 我的数据库的日期格式为-2012-02-16T00:00:00.000-0500我需要将它转换为格式为:dd-MMM-yyyy HH:MM:SS的字符串 我正在使用Java6

  • 我有两个输入字段fromDate和toDate(都是date)。我使用datepicker作为输入字段fromDate。toDate是只读的,并且依赖于fromDate。也就是说,toDate的日期是6+。例如,如果fromDate是11/30/2014,则toDate是12/6/2014。 我的jsp代码是 和js代码为: 谢谢

  • 我使用moment.js在React组件的辅助文件中执行大部分日期逻辑,但我还没有弄清楚如何在Jest a la中模拟日期。 Jest文档只介绍计时器函数,如,等,但不帮助设置日期,然后检查my date函数是否完成了它们的任务。 以下是我的一些JS文件: 下面是我用玩笑设置的: 现在这些测试通过了,因为我使用的是矩,我的函数使用的是矩,但它似乎有点不稳定,我想为测试设置一个固定的时间。 你知道怎

  • 我有一个编辑文本框,我有调用ontouchlistener,它显示一个自定义对话框,当我单击setdate按钮时,日期选择器上的日期应该设置在编辑文本上,并且对话框应该得到Dississe。但是我不知道如何从日期选择器中获取日期,以及如何在编辑文本框中设置。我在date.init(year,monthOfYear,dayOfMonth,new MyOnDateChangedListener())中