From 380aad3fae9baa10dc41709034c0d41af532628a Mon Sep 17 00:00:00 2001 From: lijiarao Date: Mon, 14 Oct 2024 15:03:11 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=AF=BC=E5=87=BA=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=86=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/JeroCustomExcelExportStyler.java | 33 +++++++++++++++++++ .../base/controller/JeroController.java | 10 ++++-- 2 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 laws-base/laws-base-core/src/main/java/com/jero/common/system/base/config/JeroCustomExcelExportStyler.java 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;