From 323fbcbaaecfe53f6ac1d3a2707f34c32cdd4d15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8F=8B=E4=BA=BAA?= <2330172120@qq.com> Date: Wed, 13 Apr 2022 03:34:49 +0000 Subject: [PATCH] =?UTF-8?q?update=20ruoyi-common/src/main/java/com/ruoyi/c?= =?UTF-8?q?ommon/utils/poi/ExcelUtil.java.=20=E6=96=B0=E5=A2=9E=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=20=E5=AF=B9list=E6=95=B0=E6=8D=AE=E6=BA=90=E5=B0=86?= =?UTF-8?q?=E5=85=B6=E9=87=8C=E9=9D=A2=E7=9A=84=E6=95=B0=E6=8D=AE=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E5=AD=97=E6=AE=B5=E5=88=86=E7=BB=84=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E5=88=B0excel=E8=A1=A8=E5=8D=95=E7=9A=84=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/common/utils/poi/ExcelUtil.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java index c6669fb7f..6fa7a9079 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java @@ -429,6 +429,37 @@ public class ExcelUtil return exportExcel(); } + /** + * 对list数据源将其里面的数据根据字段分组导入到excel表单 + * + * @param list 导出数据集合 + * @param title 标题 + * @param fieldName 字段名称 + * @return 结果 + */ + public AjaxResult exportExcelGroupingByFieldName(List list, String title, String fieldName) { + if (list == null) { + list = new ArrayList(); + } + this.list = list; + this.sheetName = title; + this.type = Type.EXPORT; + this.title = title; + createExcelField(); + //使用stream将list中的数据按照fieldName进行分组 + Map> map = list.stream().collect(Collectors.groupingBy(t -> Convert.toStr(ReflectUtils.invokeGetter(t, fieldName)))); + this.wb = new SXSSFWorkbook(500); + if (map.size() > 0) { + //map循环 设置多个不同的sheet + for (Map.Entry> entry : map.entrySet()) { + this.sheet = wb.createSheet(entry.getKey()); + this.styles = createStyles(wb); + createTitle(); + } + } + return exportExcel(); + } + /** * 对list数据源将其里面的数据导入到excel表单 *