当前位置: 首页 > news >正文

南京 网站建设合肥网络推广有限公司

南京 网站建设,合肥网络推广有限公司,武夷山网站推广,烟台做网站系统以下代码&#xff0c;亲测可以跑通 1、上一篇博客用了Apache POI库3.8的版本的形式对Excel加了水印&#xff0c;但是最近主线版本用了4.1.2的形式&#xff0c;由于为了保持版本的兼容性&#xff0c;下面有开发了Apache POI的4.1.2的版本号的方案。 pom文件为&#xff1a; <d…

以下代码,亲测可以跑通
1、上一篇博客用了Apache POI库3.8的版本的形式对Excel加了水印,但是最近主线版本用了4.1.2的形式,由于为了保持版本的兼容性,下面有开发了Apache POI的4.1.2的版本号的方案。
pom文件为:

 <dependencies><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.2</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>RELEASE</version><scope>compile</scope></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>ooxml-schemas</artifactId><version>1.4</version></dependency></dependencies>

测试类及主要 功能代码:

package com.msl;import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.*;import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;import static java.awt.image.BufferedImage.TYPE_INT_ARGB;public class ExcelWatermark0905 {public static void main(String[] args) {// 输入Excel文件路径//   String inputFile = "/Users/navyliu/Downloads/input/附件2-3:企业资产转让业务尽职调查报告(申请机构_业务部门填写)1.xlsx";//  String inputFile = "/Users/navyliu/Downloads/input/kxkj.xlsx";// String inputFile = "/Users/navyliu/Downloads/input/test.xlsx";String inputFile = "/Users/navyliu/Downloads/input/315.xlsx";// 输出Excel文件夹路径String outputFolder = "/Users/navyliu/Downloads/output";// 水印文字String watermarkText = "我是水印文字";try {FileInputStream fis = new FileInputStream(inputFile);XSSFWorkbook workbook = new XSSFWorkbook(fis);// 设置文本和字体大小Font font = new Font("宋体",Font.PLAIN,36);
//            XXSFont font = workbook.createFont();
//            font.setFontName("仿宋");
//            font.setFontHeightInPoints((short) 20);int height = 467;int width = 987;BufferedImage watermarkImage = drawText(watermarkText, font, Color.orange, Color.white, height, width);ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();ImageIO.write(watermarkImage, "png", byteArrayOut);int pictureIdx = workbook.addPicture(byteArrayOut.toByteArray(), Workbook.PICTURE_TYPE_PNG);for (int i = 0; i < workbook.getNumberOfSheets(); i++) {XSSFSheet  xssfSheet =  workbook.getSheetAt(i);String rID = xssfSheet.addRelation(null, XSSFRelation.IMAGE_PNG, workbook.getAllPictures().get(pictureIdx)).getRelationship().getId();//set background picture to sheetxssfSheet.getCTWorksheet().addNewPicture().setId(rID);}// 保存带水印的Excel到输出文件夹File outputDir = new File(outputFolder);if (!outputDir.exists()) {outputDir.mkdirs();}String outputFilePath = outputFolder + "/output2.xlsx";FileOutputStream fos = new FileOutputStream(outputFilePath);workbook.write(fos);fos.close();fis.close();} catch (IOException e) {e.printStackTrace();}}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();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) / 4, -((int) height - liStrHeight) / 4);loGraphic.setFont(font);loGraphic.setColor(textColor);loGraphic.drawString(text, ((int) width - liStrWidth) / 4, ((int) height - liStrHeight) / 2);loGraphic.drawString(text, ((int) width - liStrWidth) / 2, ((int) height - liStrHeight) / 4);loGraphic.drawString(text, ((int) width - liStrWidth) / 6, ((int) height - liStrHeight) / 20);loGraphic.dispose();return img;}
}

执行后的结果截图:
在这里插入图片描述
在这里插入图片描述

http://www.yidumall.com/news/108136.html

相关文章:

  • 制作手机网站建设游戏推广渠道有哪些
  • 沈阳做网站比较好的公司seo技术经理
  • 网站的结构是什么样的最新热搜新闻
  • 做网站排名公司推荐seo优化公司
  • 教务管理网站开发开一个网站需要多少钱
  • 个人社保缴费证明怎么查询朝阳区搜索优化seosem
  • wordpress文章不见android优化大师
  • 珠海新闻网最新消息seo专员工作内容
  • 网站建设感悟人民日报今日头条新闻
  • 建立网站需要多少钱稻挺湖南岚鸿有名做引流的公司是正规的吗
  • 手机网站标准字体大小站长素材音效下载
  • 网站推广过程叙述舆情网站入口
  • 广州网站建设公司排名优化英文
  • 广州企业建站系统模板百度站长中心
  • 网站建设宣传资料百度用户服务中心人工电话
  • 王爷不可以西安seo关键字优化
  • 购物网站建设目标甘肃网站推广
  • 东莞南城网站建设公司网站优化快速排名软件
  • 张家港网站建设优化网站开发北京公司
  • 棋牌游戏网站模板网站营销推广
  • json做网站的数据库河北百度seo关键词排名
  • 做企业网站有哪些好处企业seo顾问公司
  • 应用商城下载搜索优化整站优化
  • 评价一个网站设计项目的好坏国际重大新闻
  • 自己做网站能赚钱么手机百度浏览器
  • 杭州外贸网站建设公司排名国内新闻
  • 做宣传页的网站外链网站推荐几个
  • 深圳知名的网站公司简介长尾词优化外包
  • seo详细教程长沙专业竞价优化公司
  • 深圳室内设计培训北京seo工程师