如何将单元格值设置为日期并应用默认的Excel日期格式?
2022-08-31 09:03:48
我一直在使用Apache POI以编程方式读取现有的Excel 2003文件一段时间。现在我有一个新的要求,在内存中创建整个.xls文件(仍然使用Apache POI),然后在最后将它们写入文件。阻碍我的唯一问题是处理带有日期的单元格。
请考虑以下代码:
Date myDate = new Date();
HSSFCell myCell;
// code that assigns a cell from an HSSFSheet to 'myCell' would go here...
myCell.setCellValue(myDate);
当我将包含此单元格的工作簿写出到文件中并使用Excel打开它时,该单元格显示为数字。是的,我确实意识到Excel将其“日期”存储为自1900年1月1日以来的天数,这就是单元格中的数字所代表的。
问:我可以在 POI 中使用哪些 API 调用来告诉它我想要将默认日期格式应用于我的日期单元格?
理想情况下,我希望电子表格单元格以与 Excel 分配的默认日期格式相同的默认日期格式显示,如果用户在 Excel 中手动打开电子表格并键入 Excel 识别为日期的单元格值。