Java 出力Excel 文件,并向该文件中写固定格式的日期。我往文件里写的是yyyy-mm-dd
Java出力Excel文件,并向该文件中写固定格式的日期。我往文件里写的是yyyy-mm-dd的形式,当我打开excle文件里面的日期格式是yyyy/mm/dd的只有我双...
Java 出力Excel 文件,并向该文件中写固定格式的日期。我往文件里写的是yyyy-mm-dd的形式,当我打开excle 文件里面的日期格式是yyyy/mm/dd 的只有我双击之后才会显示我要的格式。请问是怎么回事?
展开
2个回答
展开全部
你写入的yyyy-mm-dd而显示yyyy/mm/dd这是正常的,表示EXCEL理解了你写入的数据是日期格式,显示的时候由于没有指定单元格的格式,所以系统以默认的yyyy/mm/dd格式显示,这个其实没关系。
如果你特别希望显示为yyyy-mm-dd格式,可以写入内容前增加一个单引号(半角英文),这样强制告诉EXCEL这是个文本,不要理解为日期。
还有一个办法,就是JAVA里面写入数据完毕,设置单元格的格式为yyyy-mm-dd,通过设置.NumberFormat 属性为 "yyyy-mm-dd"实现。
如果你特别希望显示为yyyy-mm-dd格式,可以写入内容前增加一个单引号(半角英文),这样强制告诉EXCEL这是个文本,不要理解为日期。
还有一个办法,就是JAVA里面写入数据完毕,设置单元格的格式为yyyy-mm-dd,通过设置.NumberFormat 属性为 "yyyy-mm-dd"实现。
追问
只能在代码里设置格式吗?不能在出力的模板里设置?
追答
当然可以在模版里面设置,设置单元格格式为日期里面的yyyy/mm/dd即可,JAVA写入日期后会自动显示为指定的格式。
展开全部
可以把单元格设置为文本格式,直接传进去字符串就可以
HSSFCellStyle cellStyle2 = demoWorkBook.createCellStyle();
HSSFDataFormat format = demoWorkBook.createDataFormat();
cellStyle2.setDataFormat(format.getFormat("@"));
cell.setCellStyle(cellStyle2);
HSSFCellStyle cellStyle2 = demoWorkBook.createCellStyle();
HSSFDataFormat format = demoWorkBook.createDataFormat();
cellStyle2.setDataFormat(format.getFormat("@"));
cell.setCellStyle(cellStyle2);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询