看固定模板的劝诱格局是这么的东京热
public class FourListExcelDto {
@ContentStyle(dataFormat = 14)
@DateTimeFormat("yyyy/M/dd")
@ExcelProperty({"手艺"})
private Date exportDate;
}
但吊唁固定模板的是字据你来的数据来生成文献的这么就无法使用了。
用EasyExcel.write(outputStream).registerWriteHandler(xxx).doWrite(data)生成文献,咱们不错我方终了一个registerWriteHandler,去格局化单位格。
新建Handler类,摄取AbstractCellStyleStrategy
public class ExcelCellStyleStrategy extends AbstractCellStyleStrategy {
/**
* 单位格格局列表(格局:GENERAL、CURRENCY_¥、CURRENCY_$、DATE、NUMERIC)
*/
private final List<String> cellDataTypes;
/**
* WorkBoot
*/
private Workbook workbook;
/**
* 构造智力,创建对象时传入需要定制的表头信息部队
*/
public ExcelCellStyleStrategy(List<String> cellDataTypes) {
this.cellDataTypes = cellDataTypes;
}
@Override东京热
protected void initCellStyle(Workbook workbook) {
漫画巨乳// 驱动化信息时,保存Workbook对象,调遣时需要使用
this.workbook = workbook;
}
@Override
protected void setHeadCellStyle(Cell cell, Head head, Integer relativeRowIndex) {
// 科罚表头的
}
@Override
protected void setContentCellStyle(Cell cell, Head head, Integer relativeRowIndex) {
CellStyle cellStyle = workbook.createCellStyle();
String cellValue = cell.getStringCellValue();
String dataTypes = cellDataTypes.get(head.getColumnIndex());
switch (dataTypes) {
case "DATE":
// 手艺
if (StrUtil.isNotBlank(cellValue)) {
DateTime dateTime = DateUtil.parseDateTime(cellValue);
cell.setCellValue(DateUtil.format(dateTime, "yyyy/m/d h:mm"));
cellStyle.setDataFormat((short) 164);
}
break;
case "NUMERIC":
// 数字
cell.setCellType(CellType.NUMERIC);
// cellStyle.setDataFormat((short) 1);
// 自界说格局
// 1 -> "0", 默示整数
// 2 -> "0.00", 默示浮点数
// 3 -> "#,##0", 默示三个数字加一个","格局的整数
// 4 -> "#,##0.00", 默示三个数字加一个","格局的浮点数
if (StrUtil.isBlank(cellValue)) {
cell.setCellValue("");
} else {
cell.setCellValue(Integer.parseInt(cellValue));
}
break;
default:
if (dataTypes.startsWith("CURRENCY_")) {
// 货币
String currency = dataTypes.substring(9);
cell.setCellValue(StrUtil.format("{}{}", currency, StrUtil.isBlank(cellValue) ? "-" : cellValue));
cellStyle.setDataFormat((short) 42);
}
// 默许是通用类型,无需出奇科罚
}
cell.setCellStyle(cellStyle);
}
}
主要看setContentCellStyle智力,创建ExcelCellStyleStrategy时需要把每一列的数据类型传递过来。
cellStyle.setDataFormat这个特意旨真谛,不错好好磋磨一下。
easypoi相沿的自界说格局列表
BuiltinFormats类的_formats列内外的自界说格局才灵验,不然就会使用文本格局。
纪录数据类型就字据你践诺情况来写了,底下时我这边的。字据业务来写的,别无脑跟!
图片
劝诱搁置
图片
货币
日历
唯重
饶恕
————————————————
版权声明:本文为CSDN博主「唯重」的原创著述,遵照CC 4.0 BY-SA版权左券,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/GMingZhou/article/details/124149506东京热
本站仅提供存储处事,所有内容均由用户发布,如发现存害或侵权内容,请点击举报。
- 东京热 花椒的功效与作用,治什么病及异常功效 2025-07-02
- 东京热 【典故】为富不仁 2025-07-01
- 东京热 终于悟谈了!最近碰到一个来回员,把来回盈利之谈露馅给我了 2025-07-01
- 东京热 糖尿病吃的多体重着落就用脐疗法 2025-07-01
- 东京热 手是第二张脸,指甲是你的前卫柬帖! 2025-06-30