客户提个需求,需要将报表导出 excel带水印 和 pdf带水印 2个版本.
做的时候连excel本身怎么带水印都不知道,更不用说用java了.后来在网上搜到了excel添加水印的2个方法.
1.艺术字; 2页眉. 因为报表页数不固定,所以决定使用页眉插入图片来做.(POI可以插入页眉,但是没找到用图片做页眉怎么操作)
最早想的是做个带页眉的模版出来,导出的时候使用这个模版.结果使用jxl来做,模版中的页眉或者艺术字总是带不出来.
后来使用poi试了下,可以. 说以决定时候poi, 而且里面一些单元格格式也比较复杂.poi能更好的解决.
下面的一些代码,主要是格式的.记录下来,也方便查看.
1.先使用模版创建一个文件
File file = new File("D://target.xls");//目标文件
String templatePath = "D://template.xls";//模版文件
POIFSFileSystem fs=new POIFSFileSystem(new FileInputStream(templatePath));
HSSFWorkbook workbook = new HSSFWorkbook(fs);
HSSFSheet sheet = workbook.getSheetAt(0);
FileOutputStream out = new FileOutputStream(file);
workbook.setSheetName(0, "test");//sheet名称
2. 具体的一些样式