From ff0ed279a1abef8742894596cc1906e1b901fdff Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Tue, 7 Jan 2025 12:04:53 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=9B=BE=E8=A1=A8):=20=E4=BF=AE=E5=A4=8Dex?= =?UTF-8?q?cel=E5=AF=BC=E5=87=BA=E6=B0=B4=E5=8D=B0=EF=BC=8C=E6=B0=B4?= =?UTF-8?q?=E5=8D=B0=E7=A7=8D=E7=B1=BB=E9=80=89=E6=8B=A9=E6=9C=AA=E7=94=9F?= =?UTF-8?q?=E6=95=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataease/commons/utils/ExcelWatermarkUtils.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/core/core-backend/src/main/java/io/dataease/commons/utils/ExcelWatermarkUtils.java b/core/core-backend/src/main/java/io/dataease/commons/utils/ExcelWatermarkUtils.java index 9dbbe34c5a..1022ad2910 100644 --- a/core/core-backend/src/main/java/io/dataease/commons/utils/ExcelWatermarkUtils.java +++ b/core/core-backend/src/main/java/io/dataease/commons/utils/ExcelWatermarkUtils.java @@ -4,6 +4,7 @@ import io.dataease.api.permissions.user.vo.UserFormVO; import io.dataease.utils.IPUtils; import io.dataease.visualization.dto.WatermarkContentDTO; import org.apache.poi.ss.usermodel.*; + import java.awt.Color; import java.awt.Font; @@ -19,7 +20,15 @@ public class ExcelWatermarkUtils { private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - public static String transContent(String content, UserFormVO userInfo) { + public static String transContent(WatermarkContentDTO watermarkContent, UserFormVO userInfo) { + String content = ""; + switch (watermarkContent.getType()) { + case "custom" -> content = watermarkContent.getContent(); + case "nickName" -> content = "${nickName}"; + case "ip" -> content = "${ip}"; + case "time" -> content = "${time}"; + default -> content = "${userName}"; + } content = content.replaceAll("\\$\\{ip}", IPUtils.get() == null ? "127.0.0.1" : IPUtils.get()); content = content.replaceAll("\\$\\{username}", userInfo.getAccount()); content = content.replaceAll("\\$\\{nickName}", userInfo.getName()); @@ -32,7 +41,7 @@ public class ExcelWatermarkUtils { * 添加水印图片到工作簿并返回图片 ID */ public static int addWatermarkImage(Workbook wb, WatermarkContentDTO watermarkContent, UserFormVO userInfo) { - byte[] imageBytes = createTextImage(transContent(watermarkContent.getContent(), userInfo), watermarkContent); // 生成文字水印图片 + byte[] imageBytes = createTextImage(transContent(watermarkContent, userInfo), watermarkContent); // 生成文字水印图片 return wb.addPicture(imageBytes, Workbook.PICTURE_TYPE_PNG); // 添加到工作簿并返回 ID }