diff --git a/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/utils/ExcelUtil.java b/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/utils/ExcelUtil.java index a6c14ad51..9ac742939 100644 --- a/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/utils/ExcelUtil.java +++ b/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/utils/ExcelUtil.java @@ -76,16 +76,17 @@ public class ExcelUtil { /** * 导出excel * - * @param list 导出数据集合 - * @param sheetName 工作表的名称 - * @param clazz 实体类 - * @param response 响应体 + * @param list 导出数据集合 + * @param excludeColumnFieldNames 排除的列字段名称集合 + * @param sheetName 工作表的名称 + * @param clazz 实体类 + * @param response 响应体 */ - public static void exportExcel(List list, String sheetName, Class clazz, HttpServletResponse response) { + public static void exportExcel(List list, Collection excludeColumnFieldNames, String sheetName, Class clazz, HttpServletResponse response) { try { resetResponse(sheetName, response); ServletOutputStream os = response.getOutputStream(); - exportExcel(list, sheetName, clazz, false, os, null); + exportExcel(list, excludeColumnFieldNames, sheetName, clazz, false, os, null); } catch (IOException e) { throw new RuntimeException("导出Excel异常"); } @@ -94,17 +95,18 @@ public class ExcelUtil { /** * 导出excel * - * @param list 导出数据集合 - * @param sheetName 工作表的名称 - * @param clazz 实体类 - * @param response 响应体 - * @param options 级联下拉选 + * @param list 导出数据集合 + * @param excludeColumnFieldNames 排除的列字段名称集合 + * @param sheetName 工作表的名称 + * @param clazz 实体类 + * @param response 响应体 + * @param options 级联下拉选 */ - public static void exportExcel(List list, String sheetName, Class clazz, HttpServletResponse response, List options) { + public static void exportExcel(List list, Collection excludeColumnFieldNames, String sheetName, Class clazz, HttpServletResponse response, List options) { try { resetResponse(sheetName, response); ServletOutputStream os = response.getOutputStream(); - exportExcel(list, sheetName, clazz, false, os, options); + exportExcel(list, excludeColumnFieldNames, sheetName, clazz, false, os, options); } catch (IOException e) { throw new RuntimeException("导出Excel异常"); } @@ -113,17 +115,18 @@ public class ExcelUtil { /** * 导出excel * - * @param list 导出数据集合 - * @param sheetName 工作表的名称 - * @param clazz 实体类 - * @param merge 是否合并单元格 - * @param response 响应体 + * @param list 导出数据集合 + * @param excludeColumnFieldNames 排除的列字段名称集合 + * @param sheetName 工作表的名称 + * @param clazz 实体类 + * @param merge 是否合并单元格 + * @param response 响应体 */ - public static void exportExcel(List list, String sheetName, Class clazz, boolean merge, HttpServletResponse response) { + public static void exportExcel(List list, Collection excludeColumnFieldNames, String sheetName, Class clazz, boolean merge, HttpServletResponse response) { try { resetResponse(sheetName, response); ServletOutputStream os = response.getOutputStream(); - exportExcel(list, sheetName, clazz, merge, os, null); + exportExcel(list, excludeColumnFieldNames, sheetName, clazz, merge, os, null); } catch (IOException e) { throw new RuntimeException("导出Excel异常"); } @@ -132,18 +135,19 @@ public class ExcelUtil { /** * 导出excel * - * @param list 导出数据集合 - * @param sheetName 工作表的名称 - * @param clazz 实体类 - * @param merge 是否合并单元格 - * @param response 响应体 - * @param options 级联下拉选 + * @param list 导出数据集合 + * @param excludeColumnFieldNames 排除的列字段名称集合 + * @param sheetName 工作表的名称 + * @param clazz 实体类 + * @param merge 是否合并单元格 + * @param response 响应体 + * @param options 级联下拉选 */ - public static void exportExcel(List list, String sheetName, Class clazz, boolean merge, HttpServletResponse response, List options) { + public static void exportExcel(List list, Collection excludeColumnFieldNames, String sheetName, Class clazz, boolean merge, HttpServletResponse response, List options) { try { resetResponse(sheetName, response); ServletOutputStream os = response.getOutputStream(); - exportExcel(list, sheetName, clazz, merge, os, options); + exportExcel(list, excludeColumnFieldNames, sheetName, clazz, merge, os, options); } catch (IOException e) { throw new RuntimeException("导出Excel异常"); } @@ -152,43 +156,49 @@ public class ExcelUtil { /** * 导出excel * - * @param list 导出数据集合 - * @param sheetName 工作表的名称 - * @param clazz 实体类 - * @param os 输出流 + * @param list 导出数据集合 + * @param excludeColumnFieldNames 排除的列字段名称集合 + * @param sheetName 工作表的名称 + * @param clazz 实体类 + * @param os 输出流 */ - public static void exportExcel(List list, String sheetName, Class clazz, OutputStream os) { - exportExcel(list, sheetName, clazz, false, os, null); + public static void exportExcel(List list, Collection excludeColumnFieldNames, String sheetName, Class clazz, OutputStream os) { + exportExcel(list, excludeColumnFieldNames, sheetName, clazz, false, os, null); } /** * 导出excel * - * @param list 导出数据集合 - * @param sheetName 工作表的名称 - * @param clazz 实体类 - * @param os 输出流 - * @param options 级联下拉选内容 + * @param list 导出数据集合 + * @param excludeColumnFieldNames 排除的列字段名称集合 + * @param sheetName 工作表的名称 + * @param clazz 实体类 + * @param os 输出流 + * @param options 级联下拉选内容 */ - public static void exportExcel(List list, String sheetName, Class clazz, OutputStream os, List options) { - exportExcel(list, sheetName, clazz, false, os, options); + public static void exportExcel(List list, Collection excludeColumnFieldNames, String sheetName, Class clazz, OutputStream os, List options) { + exportExcel(list, excludeColumnFieldNames, sheetName, clazz, false, os, options); } /** * 导出excel * - * @param list 导出数据集合 - * @param sheetName 工作表的名称 - * @param clazz 实体类 - * @param merge 是否合并单元格 - * @param os 输出流 + * @param list 导出数据集合 + * @param excludeColumnFieldNames 排除的列字段名称集合 + * @see com.alibaba.excel.write.builder.AbstractExcelWriterParameterBuilder#excludeColumnFieldNames(java.util.Collection) + * @param sheetName 工作表的名称 + * @param clazz 实体类 + * @param merge 是否合并单元格 + * @param os 输出流 */ - public static void exportExcel(List list, String sheetName, Class clazz, boolean merge, + public static void exportExcel(List list, Collection excludeColumnFieldNames, String sheetName, Class clazz, boolean merge, OutputStream os, List options) { ExcelWriterSheetBuilder builder = EasyExcel.write(os, clazz) .autoCloseStream(false) // 自动适配 .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) + // 忽略自定义列 + .excludeColumnFieldNames(excludeColumnFieldNames) // 大数值自动转换 防止失真 .registerConverter(new ExcelBigNumberConvert()) .sheet(sheetName); diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestDemoController.java b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestDemoController.java index f31c54074..caec3d81e 100644 --- a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestDemoController.java +++ b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestDemoController.java @@ -92,7 +92,7 @@ public class TestDemoController extends BaseController { // for (TestDemoVo vo : list) { // vo.setId(1234567891234567893L); // } - ExcelUtil.exportExcel(list, "测试单表", TestDemoVo.class, response); + ExcelUtil.exportExcel(list,List.of("用户id"), "测试单表", TestDemoVo.class, response); } /** diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestTreeController.java b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestTreeController.java index 5c552055f..3d32c098e 100644 --- a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestTreeController.java +++ b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestTreeController.java @@ -20,6 +20,7 @@ import org.springframework.web.bind.annotation.*; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; + import java.util.Arrays; import java.util.List; @@ -55,7 +56,7 @@ public class TestTreeController extends BaseController { @GetMapping("/export") public void export(@Validated TestTreeBo bo, HttpServletResponse response) { List list = testTreeService.queryList(bo); - ExcelUtil.exportExcel(list, "测试树表", TestTreeVo.class, response); + ExcelUtil.exportExcel(list, null, "测试树表", TestTreeVo.class, response); } /** diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/ExportExcelServiceImpl.java b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/ExportExcelServiceImpl.java index 0240e02f2..2f1880175 100644 --- a/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/ExportExcelServiceImpl.java +++ b/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/ExportExcelServiceImpl.java @@ -98,7 +98,7 @@ public class ExportExcelServiceImpl implements IExportExcelService { return everyRowData; }); - ExcelUtil.exportExcel(outList, "下拉框示例", ExportDemoVo.class, response, options); + ExcelUtil.exportExcel(outList, null, "下拉框示例", ExportDemoVo.class, response, options); } private String buildOptions(List cityDataList, Integer id) { diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/monitor/SysLogininforController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/monitor/SysLogininforController.java index 98ac2d58f..6b5b4b7a1 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/monitor/SysLogininforController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/monitor/SysLogininforController.java @@ -50,7 +50,7 @@ public class SysLogininforController extends BaseController { @PostMapping("/export") public void export(SysLogininforBo logininfor, HttpServletResponse response) { List list = logininforService.selectLogininforList(logininfor); - ExcelUtil.exportExcel(list, "登录日志", SysLogininforVo.class, response); + ExcelUtil.exportExcel(list, null, "登录日志", SysLogininforVo.class, response); } /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/monitor/SysOperlogController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/monitor/SysOperlogController.java index 575aba6b1..778a60895 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/monitor/SysOperlogController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/monitor/SysOperlogController.java @@ -48,7 +48,7 @@ public class SysOperlogController extends BaseController { @PostMapping("/export") public void export(SysOperLogBo operLog, HttpServletResponse response) { List list = operLogService.selectOperLogList(operLog); - ExcelUtil.exportExcel(list, "操作日志", SysOperLogVo.class, response); + ExcelUtil.exportExcel(list, null, "操作日志", SysOperLogVo.class, response); } /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysClientController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysClientController.java index 13be4a4a9..83bf3c59f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysClientController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysClientController.java @@ -53,7 +53,7 @@ public class SysClientController extends BaseController { @PostMapping("/export") public void export(SysClientBo bo, HttpServletResponse response) { List list = sysClientService.queryList(bo); - ExcelUtil.exportExcel(list, "客户端管理", SysClientVo.class, response); + ExcelUtil.exportExcel(list, null, "客户端管理", SysClientVo.class, response); } /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysConfigController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysConfigController.java index c73c3866f..658f0a2f7 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysConfigController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysConfigController.java @@ -48,7 +48,7 @@ public class SysConfigController extends BaseController { @PostMapping("/export") public void export(SysConfigBo config, HttpServletResponse response) { List list = configService.selectConfigList(config); - ExcelUtil.exportExcel(list, "参数数据", SysConfigVo.class, response); + ExcelUtil.exportExcel(list, null, "参数数据", SysConfigVo.class, response); } /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysDictDataController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysDictDataController.java index 57527511e..92f8fc5cc 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysDictDataController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysDictDataController.java @@ -52,7 +52,7 @@ public class SysDictDataController extends BaseController { @PostMapping("/export") public void export(SysDictDataBo dictData, HttpServletResponse response) { List list = dictDataService.selectDictDataList(dictData); - ExcelUtil.exportExcel(list, "字典数据", SysDictDataVo.class, response); + ExcelUtil.exportExcel(list, null, "字典数据", SysDictDataVo.class, response); } /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysDictTypeController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysDictTypeController.java index 67c1f5133..9323f9e2a 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysDictTypeController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysDictTypeController.java @@ -48,7 +48,7 @@ public class SysDictTypeController extends BaseController { @PostMapping("/export") public void export(SysDictTypeBo dictType, HttpServletResponse response) { List list = dictTypeService.selectDictTypeList(dictType); - ExcelUtil.exportExcel(list, "字典类型", SysDictTypeVo.class, response); + ExcelUtil.exportExcel(list, null, "字典类型", SysDictTypeVo.class, response); } /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysPostController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysPostController.java index 782bcfc55..75d0ce071 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysPostController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysPostController.java @@ -51,7 +51,7 @@ public class SysPostController extends BaseController { @PostMapping("/export") public void export(SysPostBo post, HttpServletResponse response) { List list = postService.selectPostList(post); - ExcelUtil.exportExcel(list, "岗位数据", SysPostVo.class, response); + ExcelUtil.exportExcel(list, null, "岗位数据", SysPostVo.class, response); } /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysRoleController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysRoleController.java index d4a9dc8a4..6014e0dee 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysRoleController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysRoleController.java @@ -57,7 +57,7 @@ public class SysRoleController extends BaseController { @PostMapping("/export") public void export(SysRoleBo role, HttpServletResponse response) { List list = roleService.selectRoleList(role); - ExcelUtil.exportExcel(list, "角色数据", SysRoleVo.class, response); + ExcelUtil.exportExcel(list, null, "角色数据", SysRoleVo.class, response); } /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysTenantController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysTenantController.java index 10c6777e7..db19c4daf 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysTenantController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysTenantController.java @@ -63,7 +63,7 @@ public class SysTenantController extends BaseController { @PostMapping("/export") public void export(SysTenantBo bo, HttpServletResponse response) { List list = tenantService.queryList(bo); - ExcelUtil.exportExcel(list, "租户", SysTenantVo.class, response); + ExcelUtil.exportExcel(list, null, "租户", SysTenantVo.class, response); } /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysTenantPackageController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysTenantPackageController.java index 4bfe597cf..f09cdbda5 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysTenantPackageController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysTenantPackageController.java @@ -69,7 +69,7 @@ public class SysTenantPackageController extends BaseController { @PostMapping("/export") public void export(SysTenantPackageBo bo, HttpServletResponse response) { List list = tenantPackageService.queryList(bo); - ExcelUtil.exportExcel(list, "租户套餐", SysTenantPackageVo.class, response); + ExcelUtil.exportExcel(list, null, "租户套餐", SysTenantPackageVo.class, response); } /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java index 36104d627..e137ad01e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java @@ -72,7 +72,7 @@ public class SysUserController extends BaseController { @PostMapping("/export") public void export(SysUserBo user, HttpServletResponse response) { List list = userService.selectUserExportList(user); - ExcelUtil.exportExcel(list, "用户数据", SysUserExportVo.class, response); + ExcelUtil.exportExcel(list, null, "用户数据", SysUserExportVo.class, response); } /** @@ -94,7 +94,7 @@ public class SysUserController extends BaseController { */ @PostMapping("/importTemplate") public void importTemplate(HttpServletResponse response) { - ExcelUtil.exportExcel(new ArrayList<>(), "用户数据", SysUserImportVo.class, response); + ExcelUtil.exportExcel(new ArrayList<>(), null, "用户数据", SysUserImportVo.class, response); } /** diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/TestLeaveController.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/TestLeaveController.java index e1c246f06..29b04433a 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/TestLeaveController.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/TestLeaveController.java @@ -54,7 +54,7 @@ public class TestLeaveController extends BaseController { @PostMapping("/export") public void export(TestLeaveBo bo, HttpServletResponse response) { List list = testLeaveService.queryList(bo); - ExcelUtil.exportExcel(list, "请假", TestLeaveVo.class, response); + ExcelUtil.exportExcel(list, null, "请假", TestLeaveVo.class, response); } /** diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/WfCategoryController.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/WfCategoryController.java index 8dced8929..a16eca3ef 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/WfCategoryController.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/WfCategoryController.java @@ -54,7 +54,7 @@ public class WfCategoryController extends BaseController { @PostMapping("/export") public void export(WfCategoryBo bo, HttpServletResponse response) { List list = wfCategoryService.queryList(bo); - ExcelUtil.exportExcel(list, "流程分类", WfCategoryVo.class, response); + ExcelUtil.exportExcel(list, null, "流程分类", WfCategoryVo.class, response); } /** diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/WfFormManageController.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/WfFormManageController.java index 198e233b4..e4638de87 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/WfFormManageController.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/WfFormManageController.java @@ -62,7 +62,7 @@ public class WfFormManageController extends BaseController { @PostMapping("/export") public void export(WfFormManageBo bo, HttpServletResponse response) { List list = wfFormManageService.queryList(bo); - ExcelUtil.exportExcel(list, "表单管理", WfFormManageVo.class, response); + ExcelUtil.exportExcel(list, null, "表单管理", WfFormManageVo.class, response); } /**