update 导出文件增加密级

This commit is contained in:
lijiarao
2024-10-14 15:03:11 +08:00
parent af16e32228
commit 380aad3fae
2 changed files with 40 additions and 3 deletions
@@ -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;
}
}
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.common.api.vo.Result; import com.jero.common.api.vo.Result;
import com.jero.common.exception.JeroBootException; 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.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser; import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.oConvertUtils; import com.jero.common.util.oConvertUtils;
@@ -99,12 +100,15 @@ public class JeroController<T, S extends IService<T>> {
// Step.3 AutoPoi 导出Excel // Step.3 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
//此处设置的filename无效 ,前端会重更新设置一下 //此处设置的filename无效 ,前端会重更新设置一下
mv.addObject(NormalExcelConstants.FILE_NAME, title); mv.addObject(NormalExcelConstants.FILE_NAME, title);
mv.addObject(NormalExcelConstants.CLASS, clazz); mv.addObject(NormalExcelConstants.CLASS, clazz);
ExportParams exportParams=new ExportParams(title, title); ExportParams exportParams = new ExportParams();
// 导出xlsx exportParams.setTitle("密级:核心商密□普通商密□内部资料■外部公开□");
exportParams.setType(ExcelType.HSSF); exportParams.setType(ExcelType.HSSF);
exportParams.setImageBasePath(upLoadPath); exportParams.setSheetName(title);
exportParams.setStyle(JeroCustomExcelExportStyler.class); // 使用自定义的样式
// 导出xlsx
mv.addObject(NormalExcelConstants.PARAMS,exportParams); mv.addObject(NormalExcelConstants.PARAMS,exportParams);
mv.addObject(NormalExcelConstants.DATA_LIST, object); mv.addObject(NormalExcelConstants.DATA_LIST, object);
return mv; return mv;