前言

Microsoft Excel没有直接的方法内置水印在Excel工作表中,我们可通过添加页眉页脚功能,将图片或文字加到Excel文档内容背后,实现类似水印的效果。但是该类水印只有在打印预览或视图模式为“页面视图”下才能直观可见。

通常情况下,水印分为文本水印和图片水印。本文将介绍如何使用Java程序来将文本以图片形式添加到Excel中,最终呈现文本水印的效果。

Jar包获取及导入方法

其一:在官网上下载

其二(推荐使用):通过

com.e-iceblue

http://repo.e-iceblue.cn/repository/maven-public/

e-iceblue

spire.xls.free

2.2.0

最终导入效果如下图所示:

代码示例

importcom.spire.xls.*;

importjava.awt.*;

importjava.awt.image.BufferedImage;

import staticjava.awt.image.BufferedImage.TYPE_INT_ARGB;

public classAddWatermark {

public static voidmain(String[] args) {

//加载示例文档

Workbook workbook = newWorkbook();

workbook.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.xlsx");

//设置水印文字和字体

Font font = newFont("仿宋",Font.PLAIN, 40);

String watermark ="内部专用";

//在页眉中插入图片作为模拟水印

for (Worksheet sheet : (Iterable) workbook.getWorksheets()) {

//调用DrawText()方法创建图片

BufferedImage imgWtrmrk =drawText(watermark,font, Color.pink,

Color.white,sheet.getPageSetup().getPageHeight(), sheet.getPageSetup().getPageWidth());

//插入图片作为LeftHeaderImage

sheet.getPageSetup().setLeftHeaderImage(imgWtrmrk);

sheet.getPageSetup().setLeftHeader("&G");

//设置视图模式,页眉水印仅在Layout模式下直观可见

sheet.setViewMode(ViewMode.Layout);

}

//保存文档

workbook.saveToFile("output/AddWatermark.xlsx", ExcelVersion.Version2010);

}

private staticBufferedImage drawText (String text, Font font, Color textColor, Color backColor,doubleheight, doublewidth)

{

//将用来作为水印的文本返回为图片并设置其展示样式

BufferedImage img = newBufferedImage((int) width, (int) height, TYPE_INT_ARGB);//定义图片宽度和高度

Graphics2D loGraphic = img.createGraphics();

//获取文本大小

FontMetrics loFontMetrics =loGraphic.getFontMetrics(font);

intliStrWidth= loFontMetrics.stringWidth(text);

intliStrHeight= 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();

returnimg;

}

}

添加效果

(本文完)

java excel 水印_Java 添加Excel水印相关推荐

  1. Java分享--给图片添加文字水印(文字可旋转)

    这篇文章主要介绍了Java实现给图片添加文字水印,文字水印的方法,涉及java针对图片的读取.水印添加设置等相关操作技巧,需要的朋友可以参考下 . 很多时候项目中的图片需要一定的版权,就是人家拿出去用 ...

  2. java word 水印_Java 添加Word文本水印、图片水印

    水印是一种常用于各种文档的声明.防伪手段,一般可设置文字水印或者加载图片作为水印.以下内容将分享通过Java编程给Word文档添加水印效果的方法,即 文本水印图片水印使用工具:Free Spire.D ...

  3. java excel 批注_Java 添加、修改、读取、复制、删除Excel批注

    本文介绍通过Java程序来操作Excel批注的方法.操作内容包括批注添加(添加批注文本.背景色.字体.自适应等).修改.读取(文本.图片).复制.删除等. 工具:Free Spire.XLS for ...

  4. java excel 批注_Java 添加、读取和删除 Excel 批注的操作代码

    批注是一种富文本注释,常用于为指定的Excel单元格添加提示或附加信息. Free Spire.XLS for Java为开发人员免费提供了在Java应用程序中对Excel文件添加和操作批注的功能. ...

  5. java去除水印_Java添加、删除Word水印

    水印是一种常用于各种文档的声明.防伪手段.在Word文档里面,一般可设置文字水印(默认添加方式)或者加载图片作为水印(自定义水印)以及删除水印.以下内容将分享通过Java编程来实现以上Word水印操作 ...

  6. java解析excel公式_Java 添加、读取Excel公式

    Excel是办公室自动化中非常重要的一款软件,具有强大的数据分析和处理功能.其中,Excel公式(包括函数)起了非常重要的作用.因此,掌握处理公式的能力有利于提高对Excel的应用水平,进而提高工作效 ...

  7. java 批量为图片添加图标水印和文字水印

    需求,给指定目录下面以.jpg结尾的文件,添加图标水印和文字水印 文章目录 一.基础版本 二.升级版本 三.依赖 一.基础版本 package com.gblfy.util;import com.su ...

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

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

  9. java 图片水印_JAVA实现图片水印

    一.JAVA图片水印实现原理 1.1.JAVA图片水印实现思路 1.创建缓存图片对象. 2.创建Java绘图工具对象. 3.使用绘图工具对象将原图绘制到缓存图片对象. 4.使用绘图工具将水印(文字/图 ...

  10. java excel生成_java操作excel表,包括创建、读取、以及修改【via 度娘】

    作者的网站上对它的特征有如下描述: ● 支持Excel 95-2000的所有版本 ● 生成Excel 2000标准格式 ● 支持字体.数字.日期操作 ● 能够修饰单元格属性 ● 支持图像和图表 应该说 ...

最新文章

  1. 编写c语言程序 斐波那契,C语言程序实现斐波那契数列的解题思路???
  2. 网站初学笔记3-HTML实用元素3
  3. (转载)linux如何设置为低内核启动(降核)
  4. Mac下Unity5x的下载
  5. 大剑无锋之素数【面试推荐】
  6. 《高性能PHP》学习笔记
  7. 你和女朋友的婚后老年生活!
  8. redis学习-摘抄
  9. vb6,sql与access 获取当前日期
  10. 经验分享:如何快速上手公司的项目代码
  11. 有域名和服务器怎么建设网站新手,新手如何快速搭建一个新的网站【零基础】...
  12. IL汇编语言介绍(译)
  13. EasyExcel 轻松灵活读取Excel内容
  14. 老照片变模糊 10种方法将照片处理清晰
  15. 钣金行业mes解决方案,缩短产品在制周期
  16. SpringCloud Netflix-Eureka使用
  17. STM32F103C8T6在Arduino IDE里编程
  18. CPU指令的流水线执行
  19. JavaScript 数据类型的转换
  20. KMP算法DNA的病毒检测

热门文章

  1. AutoRunner自动化测试工具下载地址及安装步骤-泽众云测试
  2. 评价系统海量数据存储设计
  3. 软件测试工作的基本流程是什么
  4. HENKAKU!PSV(Vita)编程小白探索笔记(一)信息收集篇
  5. java 最新手机号校验
  6. 爱心的数学函数方程_什么函数图像能构成爱心?
  7. 解决word文件另存为PDF时图片变模糊
  8. java cropper_Image Cropper 的 JAVA 支持
  9. 几个离线笔记软件推荐
  10. 安捷伦仪器仪表 - 程控总结