版本:3.0.2
Easy-Excel 3.0.2
问题:根据JAVA对象导出Excel模版,请问如何将某个列全部设置为文本格式,
找了很多文档都没解决,我太菜了求助。现在填写我导出的模版 填写日期会变成2022/10/10 我想填写的时候是 2022-10-10
public class CustomWriteHandler implements CellWriteHandler {
@OverRide
public void afterCellDispose(CellWriteHandlerContext context) {
final Cell cell = context.getCell();
final CellStyle cellStyle = context.getWriteWorkbookHolder().getWorkbook().createCellStyle();
final DataFormat dataFormat = context.getWriteWorkbookHolder().getWorkbook().createDataFormat();
final short format = dataFormat.getFormat("@");
// 设置为文本
cellStyle.setDataFormat(format);
cell.setCellStyle(cellStyle);
}
}
太难了 找了很多文档都没解决问题 求助。
2条答案
按热度按时间nbnkbykc1#
方法1:pojo加个属性,String类型的,自己转好日期格式写进去。原来Date类型的不要写入excel
方法2:自定义converter
0ve6wy6x2#
方法1:pojo加个属性,字符串类型的,自己转好日期格式写。原来日期类型的不要写入excel 方法2:自定义转换器
你这种只是导出数据的时候设置某个row的某个cell吧 ,我是想让整个cell列全部是文本。 查了半天找到一个
public class CellWriteHandler implements SheetWriteHandler {
不过这里的cell列的个数 需要自己配置