java excel 水印_Java 添加Excel水印
前言
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水印相关推荐
- Java分享--给图片添加文字水印(文字可旋转)
这篇文章主要介绍了Java实现给图片添加文字水印,文字水印的方法,涉及java针对图片的读取.水印添加设置等相关操作技巧,需要的朋友可以参考下 . 很多时候项目中的图片需要一定的版权,就是人家拿出去用 ...
- java word 水印_Java 添加Word文本水印、图片水印
水印是一种常用于各种文档的声明.防伪手段,一般可设置文字水印或者加载图片作为水印.以下内容将分享通过Java编程给Word文档添加水印效果的方法,即 文本水印图片水印使用工具:Free Spire.D ...
- java excel 批注_Java 添加、修改、读取、复制、删除Excel批注
本文介绍通过Java程序来操作Excel批注的方法.操作内容包括批注添加(添加批注文本.背景色.字体.自适应等).修改.读取(文本.图片).复制.删除等. 工具:Free Spire.XLS for ...
- java excel 批注_Java 添加、读取和删除 Excel 批注的操作代码
批注是一种富文本注释,常用于为指定的Excel单元格添加提示或附加信息. Free Spire.XLS for Java为开发人员免费提供了在Java应用程序中对Excel文件添加和操作批注的功能. ...
- java去除水印_Java添加、删除Word水印
水印是一种常用于各种文档的声明.防伪手段.在Word文档里面,一般可设置文字水印(默认添加方式)或者加载图片作为水印(自定义水印)以及删除水印.以下内容将分享通过Java编程来实现以上Word水印操作 ...
- java解析excel公式_Java 添加、读取Excel公式
Excel是办公室自动化中非常重要的一款软件,具有强大的数据分析和处理功能.其中,Excel公式(包括函数)起了非常重要的作用.因此,掌握处理公式的能力有利于提高对Excel的应用水平,进而提高工作效 ...
- java 批量为图片添加图标水印和文字水印
需求,给指定目录下面以.jpg结尾的文件,添加图标水印和文字水印 文章目录 一.基础版本 二.升级版本 三.依赖 一.基础版本 package com.gblfy.util;import com.su ...
- Java 在PPT中添加文本水印的简易方法(单一/平铺水印)
[前言] 在PPT幻灯片中,可通过添加形状的方式,来实现类似水印的效果,可添加单一文本水印效果,即在幻灯片中心位置水印以单个文本字样显示,但通过一定方法也可以添加多行(平铺)文本水印效果,即在幻灯片中 ...
- java 图片水印_JAVA实现图片水印
一.JAVA图片水印实现原理 1.1.JAVA图片水印实现思路 1.创建缓存图片对象. 2.创建Java绘图工具对象. 3.使用绘图工具对象将原图绘制到缓存图片对象. 4.使用绘图工具将水印(文字/图 ...
- java excel生成_java操作excel表,包括创建、读取、以及修改【via 度娘】
作者的网站上对它的特征有如下描述: ● 支持Excel 95-2000的所有版本 ● 生成Excel 2000标准格式 ● 支持字体.数字.日期操作 ● 能够修饰单元格属性 ● 支持图像和图表 应该说 ...
最新文章
- 编写c语言程序 斐波那契,C语言程序实现斐波那契数列的解题思路???
- 网站初学笔记3-HTML实用元素3
- (转载)linux如何设置为低内核启动(降核)
- Mac下Unity5x的下载
- 大剑无锋之素数【面试推荐】
- 《高性能PHP》学习笔记
- 你和女朋友的婚后老年生活!
- redis学习-摘抄
- vb6,sql与access 获取当前日期
- 经验分享:如何快速上手公司的项目代码
- 有域名和服务器怎么建设网站新手,新手如何快速搭建一个新的网站【零基础】...
- IL汇编语言介绍(译)
- EasyExcel 轻松灵活读取Excel内容
- 老照片变模糊 10种方法将照片处理清晰
- 钣金行业mes解决方案,缩短产品在制周期
- SpringCloud Netflix-Eureka使用
- STM32F103C8T6在Arduino IDE里编程
- CPU指令的流水线执行
- JavaScript 数据类型的转换
- KMP算法DNA的病毒检测