Java 在Excel中添加水印

在Excel中没有直接添加水印的功能,但依旧可以通过一定方式来实现类似水印效果。下面通过Java程序代码介绍具体实现方法。

操作方法

  • 01

    在IDEA程序项目文件夹下存储一个2013版的Excel的测试文件。如下图:

  • 02

    在idea中键入如下代码: import com.spire.xls.*; import java.awt.*; import java.awt.image.BufferedImage; import static java.awt.image.BufferedImage.TYPE_INT_ARGB; public class TextWatermark { public static void main(String[] args) { //加载Excel测试文档 Workbook wb = new Workbook(); wb.loadFromFile("test.xlsx"); //设置文本和字体大小 Font font = new Font("仿宋", Font.PLAIN, 40); for (int i =0;i<wb.getWorksheets().getCount();i++) { Worksheet sheet = wb.getWorksheets().get(i); //调用DrawText() 方法插入图片 BufferedImage imgWtrmrk = drawText("内部专用", font, Color.pink, Color.white, sheet.getPageSetup().getPageHeight(), sheet.getPageSetup().getPageWidth()); //将图片设置为页眉 sheet.getPageSetup().setLeftHeaderImage(imgWtrmrk); sheet.getPageSetup().setLeftHeader("&G"); //将显示模式设置为Layout sheet.setViewMode(ViewMode.Layout); } //保存文档 wb.saveToFile("TextWatermark.xlsx", ExcelVersion.Version2013); } private static BufferedImage drawText (String text, Font font, Color textColor, Color backColor,double height, double width) { //定义图片宽度和高度 BufferedImage img = new BufferedImage((int) width, (int) height, TYPE_INT_ARGB); Graphics2D loGraphic = img.createGraphics(); //获取文本size FontMetrics loFontMetrics = loGraphic.getFontMetrics(font); int liStrWidth = loFontMetrics.stringWidth(text); int liStrHeight = loFontMetrics.getHeight(); //文本显示样式及位置 loGraphic.setColor(backColor); loGraphic.fillRect(0, 0, (int) width, (int) height); loGraphic.translate(((int) width - liStrWidth) / 2, ((int) height - liStrHeight) / 2); loGraphic.rotate(Math.toRadians(-45)); loGraphic.translate(-((int) width - liStrWidth) / 2, -((int) height - liStrHeight) / 2); loGraphic.setFont(font); loGraphic.setColor(textColor); loGraphic.drawString(text, ((int) width - liStrWidth) / 2, ((int) height - liStrHeight) / 2); loGraphic.dispose(); return img; } }

  • 03

    运行程序,生成文档,水印效果如图,但是需要注意的是:在添加完水印效果后,查看文档时,在“普通视图”水印不可见,需在“页面布局”模式或“打印预览”模式下查看。

(0)

相关推荐

  • Java 删除Excel中的数字签名

    以下内容通过Java代码展示如何来删除Excel文件中已有的数字签名. 操作方法 01 在IDEA程序项目文件夹下,存入用于测试的Excel文档,即文件路径(文件路径也可自定义为其他路径). 02 程 ...

  • Java 在PPT中添加水印的简易方法(单一/平铺水印)

    [前言] 在PPT幻灯片中,可通过添加形状的方式,来实现类似水印的效果,可添加单一文本水印效果,即在幻灯片中心位置水印以单个文本字样显示,但通过一定方法也可以添加多行(平铺)文本水印效果,即在幻灯片中 ...

  • Java 给Excel添加多行文本水印

    在Excel中添加水印可添加单一水印效果,即水印是以单个文本字样来呈现:也可添加多个平铺水印效果,即水印是以多个文本字样来页面中平铺.详细内容见下文. 操作方法 01 在IDEA项目文件夹下存入用于测 ...

  • Java 获取Excel批注中的图片

    以下内容介绍如何在Java程序中读取Excel批注中的图片. 操作方法 01 指定文件路径,本次测试代码路径为项目文件夹路径.即在IDEA项目文件下存入用于测试的Excel文档,如:C:\Users\ ...

  • Java 用图片替换Excel中的指定文本内容

    本文在Java程序代码中通过加载图片替换Excel中的指定文本内容. 基本操作思路如下:加载Excel工作簿,获取工作表,查找指定单元格中的文本字符串,将单元格内容设置为空,获取该单元格行列坐标,插入 ...

  • excel中如何添加水印 excel水印如何添加

    我们在日常的excel编辑和操作中,需要对excel进行添加水印操作,比如增加一些保密信息作为提醒啊之类的,下面介绍下如何excel添加水印效果 操作方法 01 首先打开excel界面,进入excel ...

  • Java 检测Excel文档是否被签名

    Excel中添加数字签名用于防伪,声明等作用.当一个文档不知其是否签名时,可通过一定方法来检查,下面通过Java程序代码介绍如何来检测. 操作方法 01 在IDEA项目文件夹下,存入用于测试的Exce ...

  • Java 给Excel添加数字签名

    Excel中可添加数字签名以供文档所有者申明文档的所有权或有效性.下面介绍如何在Java程序代码中实现给Excel工作簿添加签名. 操作方法 01 在IDEA项目文件夹路径下,存入一个Excel文件, ...

  • Java 操作PPT中的批注—添加、修改、读取、删除

    概述 批注是对文档中特定文字的批语及注解,常见于Word.Excel.PowerPoint.PDF等办公文档中.本文将通过Java程序来演示如何在PowerPoint文档中添加批注.修改批注.获取批注 ...