poi无法直接通过代码生成水印效果,只能生成图片以及背景图。

提供一种可行办法就是预留一份现成的带有水印的excel模板,以模板创建workbook,再向其添加内容,这样即可实现导出带有水印的excel,需要注意的是poi版本不能太老,太老的不支持此操作。

代码试例如下:

@WebServlet(name = "poiServlet", urlPatterns = "/public/poi")
public class PoiCtrl extends HttpServlet {//excel模板路径private final String poiModelPath = this.getClass().getClassLoader().getResource("/").getPath() + "poi_model.xls";/*** @description: poi水印* @date 17:12 2020/2/10* @param req* @param resp* @exception java.rmi.ServerException* @exception IOException* @return void*/@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {try (InputStream inputStream = new FileInputStream( new File(poiModelPath) )){HSSFWorkbook workbook = new HSSFWorkbook(inputStream);Font baseFont = workbook.createFont();baseFont.setBold(true);baseFont.setFontHeightInPoints((short) 10);CellStyle baseStyle = workbook.createCellStyle();baseStyle.setAlignment(HorizontalAlignment.CENTER);baseStyle.setVerticalAlignment(VerticalAlignment.CENTER);Sheet sheet = workbook.getSheetAt(0);for (int i = 0; i < 10; i++) {sheet.setColumnWidth(i, 20 * 256);//设置每一列的宽度}sheet.createFreezePane(0,1, 0, 1);//冻结首行for (int i = 0; i < 20; i++) {Row row = sheet.createRow(i);row.setHeightInPoints(34f);for (int j = 0; j < 10; j++) {Cell cell = row.createCell(j);cell.setCellValue( i + ":" + j );cell.setCellStyle(baseStyle);}}try (OutputStream outputStream = resp.getOutputStream()){resp.reset();resp.setContentType("application/msExcel");resp.setHeader("Content-Disposition", "attachment;filename=price.xls");workbook.write(outputStream);}}}
}

maven:

<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.0</version>
</dependency>

模板图:

效果图:

java poi excel无法添加水印替代方法相关推荐

  1. 在Java生成的html页面加水印,Java在Excel中添加水印的实现(单一水印、平铺水印)...

    在Excel中没有直接添加水印的功能,但依旧可以通过一定方式来实现类似水印效果.本文通过Java程序代码介绍具体实现方法.可添加单一水印效果,即水印是以单个文本字样来呈现:也可添加多个平铺水印效果,即 ...

  2. Java POI Excel导入导出

    Java POI Excel导入导出 1.maven引入依赖 2.导入Excel 3.导出Excel 1.maven引入依赖 <!-- POI Excel 操作 --> <depen ...

  3. Java POI Excel移动行和复制行的处理

    目录 Java POI Excel移动行和复制行的处理 坑点: 实现的代码 Java POI Excel移动行和复制行的处理 POI操作Excel时,不支持移动行的操作,因此在需要通过复制行+删除行+ ...

  4. JAVA POI Word转PDF convert方法 NullPointException

    JAVA POI Word转PDF convert方法 NullPointException 如果操作过通过POI操作过Word,请保证创建run之后run的值不为null,为null将在转换时报错. ...

  5. Java POI——Excel导入导出的列英文字母与数字的互转方法记录

    因项目需要,写了递归实现POI--excel英文字母列转列编号,记录. 规则1:excel英文字母列转数字编号:A→0,B→1,Z→25,AA→26,ZZ→701,AAA→702 - public i ...

  6. java poi excel 导入数据库_java POI 处理excel表格数据并导入数据库示例

    java操作Excel最常用的开源组件有poi与jxl.jxl是韩国人开发的,发行较早,但是更新的很慢,目前似乎还不支持excel2007. poi是apache下的一个子项目,poi应该是处理ms的 ...

  7. Java POI Excel( pio:纯java操作excel的api )

    2010-03-17 21:35 POI官方网址:http://poi.apache.org/ POI的功能实在很强大,而且是apache的子项目,它下面又包含一些Component,比如处理Exce ...

  8. java poi excel 生成表格的工具封装

    效果如下: 代码如下: import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import ...

  9. Java poi给word添加水印,字体,颜色,倾斜度等

    之前使用poi-tl进行word模板生成word文件,在生成word之后,现在需求需要给word添加一个水印的功能,先贴图生成后的效果,部分内容涉及公司信息打了马赛克, 贴一下代码 /*** @aut ...

最新文章

  1. Neuron最新研究:神经科学家测量球迷大脑对比赛的反应,试图挖掘人类的深层天性...
  2. JVM:堆中对象的创建?定位?可达性?
  3. Java——多线程(死锁)
  4. sa密码修改记录_【数据完整性】一文读懂电子记录与电子签名
  5. 一步一步 IText.Sharp 之 Hello Word
  6. http://acm.whu.edu.cn/land/problem/detail?problem_id=1464
  7. 2021华为软件精英挑战赛(粤港澳赛区复赛第八)
  8. 计算机无法对光盘格式化,使用驱动器X:中的光盘之前需要将其格式化,是否需要将其格式化?...
  9. Nested weights are bad for performance警告
  10. 我来说说我给宝宝买保险的事
  11. 货车什么叫半挂?什么叫全挂?
  12. Tianchi×Datawhale 零基础信贷模型预测 task04
  13. 极速office(word)怎么添加着重号
  14. 围棋 android 开源,腾讯正式开源围棋AI技术PhoenixGo
  15. Javascript 实现城市选择控件
  16. windows下同步方案-cwRsync
  17. 数码管点亮中几个常见三极管基极导通状态
  18. # 靠谱:开源IM项目OpenIM压测程序介绍-自己动手压测性能和稳定性
  19. 大厂面试系列一些问题的解答
  20. 2022年度交通运输行业重点科技项目申报开始,重点关注这几个方向

热门文章

  1. AutoIT 实现Firefox下载
  2. 最常用的13条mysql语句
  3. extern使用说明
  4. 4 谐波_技术文章—功率分析仪在IEC谐波的测试应用
  5. php代码样式,PHP代码样式
  6. php excel 单元格类型,设置20个单元格类型后,PhpExcel停止工作
  7. vue前端怎么导出图片_vue前端实现导出表格
  8. 【小白学习keras教程】十一、Keras中文本处理Text preprocessing
  9. 三十四、深入Vue.js语法(中篇)
  10. 化工原理第四版课后习题答案