JeeSite 导出时,默认没有序号列,这里介绍如何手动增加序号列。
同事提供方法,在此做个记录。
在 common/src/main/java/com/jeesite/common/utils/excel/ExcelExport.java 文件,576 行:
this.addCell(row, colunm++, val, ef.align(), ef.fieldType(), ef.dataFormat());
替换为:
if (colunm == 0 && StringUtils.isBlank(ef.attrName())) { this.addCell(row, colunm++, row.getRowNum() - 1, ef.align(), ef.fieldType(), ef.dataFormat()); } else { this.addCell(row, colunm++, val, ef.align(), ef.fieldType(), ef.dataFormat()); }
之后,在实体类中,如 modules/product/src/main/java/com/jeesite/modules/seal/entity/FlowSeal.java @ExcelFields 中新增一行:
@ExcelFields({ @ExcelField(title="序号", attrName="", align= ExcelField.Align.CENTER, sort=1), @ExcelField(title="使用人", attrName="userCodeName", align= ExcelField.Align.CENTER, sort=30), @ExcelField(title="申请使用日期", attrName="applyDate", align= ExcelField.Align.CENTER, sort=40), })
其中,attrName 为空时,被认为是序号列。