java 导出EXCEL 日期格式问题 设置日期格式和本机不一样,不显示设置的日期格式

时间:2021-01-10 20:18:58
public WritableCellFormat style_date = new WritableCellFormat(new DateFormat("yyyy/MM/dd") );
-----------------------------------------
style_date.setAlignment(Alignment.CENTRE);
style_date.setFont( new WritableFont(WritableFont.COURIER, 9) );
style_date.setBorder(Border.ALL, BorderLineStyle.THIN);
-----------------------------------------
data = U.formatDate(U.nullToString((String)PropertyUtils.getProperty(data_list.get(i), column.data_name)).toString());
dateval = new SimpleDateFormat("yyyy/MM/dd").parse(data);//日期已经格式化好了
-----------------------------------------
labelDt = new DateTime(col, row, dateval, style_date );
label.setCellFormat(style_date );
sheet.addCell(labelDt);
-----------------------------------------
电脑上设置的日期格式是yyyy-MM-dd;
代码里设置的日期格式是yyyy/MM/dd;
导出EXCEL显示的是yyyy-MM-dd,而不是代码里设置的yyyy/MM/dd;
不修改电脑设置,怎么实现导出EXCEL的日期格式和代码里设置的一样呢?

领导说是用TimeZone,但我查出来的是它解决的时区问题,这个格式问题怎么解决呢,求高手解答啊

4 个解决方案

#1


使用字符串..先把new Date()转成自己想要时间字符串格式再插入,就不会因为类型问题而头痛了...这种方式比较靠谱... java 导出EXCEL 日期格式问题 设置日期格式和本机不一样,不显示设置的日期格式

#2


execl中有自己的日期格式,如果你单元格设置为execl的日期格式,那么只能按照execl的方式来显示。
如果想按照自己的规则来显示格式,那么请把单元格设置为字符串类型的。

#3


引用 2 楼 AA5279AA 的回复:
execl中有自己的日期格式,如果你单元格设置为execl的日期格式,那么只能按照execl的方式来显示。
如果想按照自己的规则来显示格式,那么请把单元格设置为字符串类型的。




引用 1 楼 shadowsick 的回复:
使用字符串..先把new Date()转成自己想要时间字符串格式再插入,就不会因为类型问题而头痛了...这种方式比较靠谱... java 导出EXCEL 日期格式问题 设置日期格式和本机不一样,不显示设置的日期格式


开始就是用的字符串,后来要求导出EXCEL必须是日期格式,就是不知道日期格式这问题怎么解决呢

#4


同求怎么设置成excel自带的日期格式?

#1


使用字符串..先把new Date()转成自己想要时间字符串格式再插入,就不会因为类型问题而头痛了...这种方式比较靠谱... java 导出EXCEL 日期格式问题 设置日期格式和本机不一样,不显示设置的日期格式

#2


execl中有自己的日期格式,如果你单元格设置为execl的日期格式,那么只能按照execl的方式来显示。
如果想按照自己的规则来显示格式,那么请把单元格设置为字符串类型的。

#3


引用 2 楼 AA5279AA 的回复:
execl中有自己的日期格式,如果你单元格设置为execl的日期格式,那么只能按照execl的方式来显示。
如果想按照自己的规则来显示格式,那么请把单元格设置为字符串类型的。




引用 1 楼 shadowsick 的回复:
使用字符串..先把new Date()转成自己想要时间字符串格式再插入,就不会因为类型问题而头痛了...这种方式比较靠谱... java 导出EXCEL 日期格式问题 设置日期格式和本机不一样,不显示设置的日期格式


开始就是用的字符串,后来要求导出EXCEL必须是日期格式,就是不知道日期格式这问题怎么解决呢

#4


同求怎么设置成excel自带的日期格式?