diff --git a/njcn-common/pom.xml b/njcn-common/pom.xml
index d724b17..a3a3deb 100644
--- a/njcn-common/pom.xml
+++ b/njcn-common/pom.xml
@@ -26,6 +26,7 @@
2.17.0
1.7.32
1.2.12
+ 4.4.0
@@ -108,6 +109,23 @@
+
+
+ com.njcn
+ common-core
+ 1.0.0
+
+
+ com.njcn
+ common-web
+ 1.0.0
+
+
+ cn.afterturn
+ easypoi-spring-boot-starter
+ ${easypoi.version}
+
+
\ No newline at end of file
diff --git a/njcn-common/src/main/java/com/njcn/common/utils/ExcelUtil.java b/njcn-common/src/main/java/com/njcn/common/utils/ExcelUtil.java
new file mode 100644
index 0000000..3339506
--- /dev/null
+++ b/njcn-common/src/main/java/com/njcn/common/utils/ExcelUtil.java
@@ -0,0 +1,63 @@
+package com.njcn.common.utils;
+
+import cn.afterturn.easypoi.excel.ExcelExportUtil;
+import cn.afterturn.easypoi.excel.entity.ExportParams;
+import cn.hutool.core.util.CharsetUtil;
+import com.njcn.web.utils.HttpServletUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.ss.usermodel.Workbook;
+
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.net.URLEncoder;
+import java.util.Collection;
+
+/**
+ * @author caozehui
+ * @version 1.0.0
+ * @date 2024年11月05日
+ */
+@Slf4j
+public class ExcelUtil {
+ /**
+ * 指定名称、数据下载报表
+ *
+ * @param fileName 文件名
+ */
+ public static void exportExcel(String fileName, Class> pojoClass, Collection> dataSet) {
+ HttpServletResponse response = HttpServletUtil.getResponse();
+ try (ServletOutputStream outputStream = response.getOutputStream()) {
+ fileName = URLEncoder.encode(fileName, CharsetUtil.UTF_8);
+ response.reset();
+ response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
+ response.setContentType("application/octet-stream;charset=UTF-8");
+ ExportParams exportParams = new ExportParams();
+ Workbook workbook = ExcelExportUtil.exportExcel(exportParams, pojoClass, dataSet);
+ workbook.write(outputStream);
+ } catch (IOException e) {
+ log.error(">>> 导出数据异常:{}", e.getMessage());
+ }
+ }
+
+ /**
+ * 指定名称、sheet名、数据下载报表
+ *
+ * @param fileName 文件名
+ */
+ public static void exportExcel(String fileName, String sheetName, Class> pojoClass, Collection> dataSet) {
+ HttpServletResponse response = HttpServletUtil.getResponse();
+ try (ServletOutputStream outputStream = response.getOutputStream()) {
+ fileName = URLEncoder.encode(fileName, CharsetUtil.UTF_8);
+ response.reset();
+ response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
+ response.setContentType("application/octet-stream;charset=UTF-8");
+ ExportParams exportParams = new ExportParams();
+ exportParams.setSheetName(sheetName);
+ Workbook workbook = ExcelExportUtil.exportExcel(exportParams, pojoClass, dataSet);
+ workbook.write(outputStream);
+ } catch (IOException e) {
+ log.error(">>> 导出数据异常:{}", e.getMessage());
+ }
+ }
+}