EXCEL 加入水印 亲测可用

import lombok.Data;
import org.apache.commons.lang3.StringUtils;

import java.awt.*;
import java.awt.image.BufferedImage;
import java.util.Date;

public class FontImage {

    public static BufferedImage createBufferedImage(String name, Font font, int i, int i1, boolean b) {
        Watermark watermark = new Watermark();
        watermark.setEnable(b);
        watermark.setDateFormat("yyyy-MM-dd HH:mm");
        watermark.setText(name);
        watermark.setColor("#C5CBCF");
        return createWatermarkImage(watermark);
    }

    public static BufferedImage createBufferedImage(String name, Font font, int width, int height, String color, String dateFormat, boolean enable) {
        Watermark watermark = new Watermark();
        watermark.setEnable(enable);
        watermark.setDateFormat(dateFormat);
        watermark.setText(name);
        watermark.setWidth(width);
        watermark.setHeight(height);
        watermark.setColor(color);
        watermark.setFont(font);
        return createWatermarkImage(watermark);
    }

    @Data
    public static class Watermark {
        private Boolean enable;
        private String text;
        private String dateFormat;
        private int width;
        private int height;
        private Font font;
        private String color;
    }

    public static BufferedImage createWatermarkImage(Watermark watermark) {
        if (watermark =

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用POI库操作Excel文件时,可以通过添加水印的方式来给Excel文件添加背景图案或文字标识。下面是一个简单的示例代码来演示如何使用POI库添加水印。 首先,我们需要导入POI库的相关类: ``` import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFSheet; ``` 然后,我们需要加载Excel文件并创建一个工作簿对象: ``` String filePath = "path/to/excel/file.xlsx"; Workbook workbook = new XSSFWorkbook(filePath); ``` 接下来,创建一个新的工作表对象,并获取当前工作表的绘图对象: ``` Sheet sheet = workbook.createSheet(); Drawing drawing = sheet.createDrawingPatriarch(); ``` 创建一个文本对象,并设置文本内容以及位置: ``` ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 1, 2, 3, 4); TextShape text = drawing.createTextbox(anchor); text.setText("水印文字"); ``` 设置文本样式、字体、颜色等: ``` text.setLineStyle(LineStyle.NONE); text.setNoFill(true); text.setVerticalAlignment(VerticalAlignment.CENTER); text.setHorizontalAlignment(HorizontalAlignment.CENTER); text.setFontFamily("宋体"); text.setFontSize(20); text.setFillColor(IndexedColors.GREY_25_PERCENT.getIndex()); ``` 最后,保存修改并关闭Excel文件: ``` FileOutputStream fileOut = new FileOutputStream("path/to/output/file.xlsx"); workbook.write(fileOut); fileOut.close(); workbook.close(); ``` 通过以上代码,我们可以将"水印文字"添加为Excel文件的水印。可以根据自己的需求调整水印的位置、样式和内容等。同时需要注意的是,以上代码适用于POI版本为4.1.2。 希望以上内容对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值