最近做个excel加水印的,在网上找了很多,都是使用jxl添加,但是本地测试一直没有通过,主要原因是因为背景图片不符合要求,后来找了image4j来做成图片,完成了背景图片的添加,需要用到的jxl.jar包image4j.jar,具体代码如下:
package com.file;
import java.awt.AlphaComposite;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
import java.util.regex.Pattern;
import jxl.Range;
import jxl.Workbook;
import jxl.format.Alignment;
import jxl.format.VerticalAlignment;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableCell;
import jxl.write.WritableCellFormat;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
import net.sf.image4j.codec.bmp.BMPEncoder;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Component;
/**
*
*
* @date 2014-5-16
*/
@Component
@SuppressWarnings({ "rawtypes", "unchecked" })
public class ExcelWriter {
private WritableWorkbook book;
private static final Logger LOG = Logger.getLogger(ExcelWriter.class);
private FileInputStream fis = null;
private File watermarkFileName = null;
private int width = 480; // 水印图片的宽度
private int height = 1020; // 水印图片的高度 因为设置其他的高度会有黑线,所以拉