Java 给Excel添加多行文本水印

在Excel中添加水印可添加单一水印效果,即水印是以单个文本字样来呈现;也可添加多个平铺水印效果,即水印是以多个文本字样来页面中平铺。详细内容见下文。

操作方法

  • 01

    在IDEA项目文件夹下存入用于测试的Excel文件,如本次文件路径:C:\Users\Administrator\IdeaProjects\TextWatermark_XLS(文件路径可以自定义为其他路径)

  • 02

    在程序中导入spire.xls.jar文件,如下图:

  • 03

    键入如下代码: import com.spire.xls.*; import java.awt.*; import java.awt.image.BufferedImage; import static java.awt.image.BufferedImage.TYPE_INT_ARGB; public class TiledWatermark { public static void main(String[] args) { //加载Excel测试文档 Workbook wb = new Workbook(); wb.loadFromFile("test.xlsx"); //设置文本和字体大小 Font font = new Font("仿宋", Font.PLAIN, 25); 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().setCenterHeaderImage(imgWtrmrk); sheet.getPageSetup().setCenterHeader("&G"); //将显示模式设置为Layout sheet.setViewMode(ViewMode.Layout); } //保存文档 wb.saveToFile("TiledWatermark.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) /6 , ((int) height - liStrHeight) /6); loGraphic.drawString(text,((int) width - liStrWidth) /3, ((int) height - liStrHeight) /3); loGraphic.drawString(text,((int) width - liStrWidth) /2, ((int) height - liStrHeight) /2); loGraphic.dispose(); return img; } }

  • 04

    运行程序,生成如下Excel文档。多行水印效果如图:

(0)

相关推荐

  • Java 给Excel添加数字签名

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

  • 如何给excel添加文字水印

    excel是微软旗下的office系列产品,其功能强大,操作简单而受大众欢迎,excel在我们平时办公.统计.处理数据上面是非常高效的,今天跟大家分享一下,excel中的一个小应用,如何给excel添 ...

  • 如何在Word中添加多个文字水印

    我们在使用Word进行文档编辑时,有时候想要在文档中插入水印,还不单单只想插入一个水印,使得文档既漂亮又有个性,那么如何实现在Word中添加多个文字水印呢?下面的方法希望对您有所帮助,具体方法如下: ...

  • word如何添加文字和图片水印

    一.word2003添加水印 点击菜单栏的"格式"--"背景"--"水印",弹出"水印"设置窗口,先选择水印类型.如图所 ...

  • Word2016如何添加图片作背景水印

    Word中2016进行添加图片作背景水印的操作步骤: 启动Word2016并新建一个空白文档或者打开你所需要添加的文档. 鼠标单击菜单栏的"设计". 鼠标单击"水印&qu ...

  • excel怎样添加公式计算 excel添加公式计算的设置方法

    excel是我们常用的办公软件,有时会用到一些公式计算,那么excel怎样添加公式计算?下面小编带来excel添加公式计算的设置方法,希望对大家有所帮助. excel添加公式计算的设置方法: 我们以一 ...

  • excel怎么添加批注? excel添加图案批注的教程

    excel表格中想要给单元格添加图案标注,该怎么添加呢?下面我们就来看看详细的教程. 1.打开一个excel工作样表作为例子. 2.在单元格上点击鼠标右键,选择插入批注选项. 3.在批注的边框上点击鼠 ...

  • Excel怎么添加批注?excel添加和查看批注方法

    我们利用excel的时候,都是给我输入的表格添加批注,就是这些做一些标记,那我们怎么添加批注和添加完成之后查看批注呢?下面就为大家详细介绍一下,来看看吧! 1.首先我们打开我们的excel软件,我们可 ...

  • excel添加批注有什么作用?怎么添加批注?

    excel添加批注有什么作用?怎么添加批注?想象一下,如果突然看到一张满是数据的excel文档,如果没有批注注释,您还能看懂吗?如果您正在制作一个excel文档,有的数据有异常,为了让读表的人能清楚的 ...