diff --git a/laws-base/laws-base-core/src/main/java/com/jero/common/system/base/config/JeroCustomExcelExportStyler.java b/laws-base/laws-base-core/src/main/java/com/jero/common/system/base/config/JeroCustomExcelExportStyler.java new file mode 100644 index 00000000..06c7f79f --- /dev/null +++ b/laws-base/laws-base-core/src/main/java/com/jero/common/system/base/config/JeroCustomExcelExportStyler.java @@ -0,0 +1,33 @@ +package com.jero.common.system.base.config; + +import org.apache.poi.hssf.usermodel.HSSFCellStyle; +import org.apache.poi.hssf.usermodel.HSSFFont; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.HorizontalAlignment; +import org.apache.poi.ss.usermodel.Workbook; +import org.jeecgframework.poi.excel.export.styler.ExcelExportStylerDefaultImpl; + +/** + * 自定义excel导出格式,让标题左对齐 + */ +public class JeroCustomExcelExportStyler extends ExcelExportStylerDefaultImpl { + + public JeroCustomExcelExportStyler(Workbook workbook) { + super(workbook); + } + + // 设置标题的左对齐样式 + @Override + public HSSFCellStyle getHeaderStyle(short color) { + HSSFCellStyle headerStyle = (HSSFCellStyle) super.getHeaderStyle(color); // 确保 getHeaderStyle 返回的是 HSSFCellStyle + headerStyle.setAlignment(HorizontalAlignment.LEFT); // 左对齐 + // 将 workbook 转换为 HSSFWorkbook,以便创建 HSSFFont + if (workbook instanceof HSSFWorkbook) { + HSSFWorkbook hssfWorkbook = (HSSFWorkbook) workbook; + HSSFFont font = hssfWorkbook.createFont(); // 创建 HSSFFont + font.setFontHeightInPoints((short) 10); // 设置字体大小为10 + headerStyle.setFont(font); // 将字体设置到样式中 + } + return headerStyle; + } +} diff --git a/laws-base/laws-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java b/laws-base/laws-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java index f4026397..8965c29d 100644 --- a/laws-base/laws-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java +++ b/laws-base/laws-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.jero.common.api.vo.Result; import com.jero.common.exception.JeroBootException; +import com.jero.common.system.base.config.JeroCustomExcelExportStyler; import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.oConvertUtils; @@ -99,12 +100,15 @@ public class JeroController> { // Step.3 AutoPoi 导出Excel ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); //此处设置的filename无效 ,前端会重更新设置一下 + mv.addObject(NormalExcelConstants.FILE_NAME, title); mv.addObject(NormalExcelConstants.CLASS, clazz); - ExportParams exportParams=new ExportParams(title, title); - // 导出xlsx + ExportParams exportParams = new ExportParams(); + exportParams.setTitle("密级:核心商密□普通商密□内部资料■外部公开□"); exportParams.setType(ExcelType.HSSF); - exportParams.setImageBasePath(upLoadPath); + exportParams.setSheetName(title); + exportParams.setStyle(JeroCustomExcelExportStyler.class); // 使用自定义的样式 + // 导出xlsx mv.addObject(NormalExcelConstants.PARAMS,exportParams); mv.addObject(NormalExcelConstants.DATA_LIST, object); return mv;