在POI中有HSSFPatriarch对象,该对象为画图的顶级管理器,它的createPicture(anchor, pictureIndex)方法就能够在Excel插入一张图片。所以要在Excel中插入图片,三步就可以搞定。
一、获取HSSFPatriarch对象,
二、new HSSFClientAnchor对象,
三、调用createPicture方法即可。
实现倒是非常容易实现,如果想把它做好还是有点儿难度的。这里我们先插入一张图片:
public class ExcelImageTest {
public staticvoidmain(String[] args) {
FileOutputStream fileOut= null;
BufferedImage bufferImg= null;//先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArray
try{
ByteArrayOutputStream byteArrayOut= newByteArrayOutputStream();
bufferImg= ImageIO.read(new File("F:/图片/照片/无名氏/小昭11.jpg"));
ImageIO.write(bufferImg,"jpg", byteArrayOut);
HSSFWorkbook wb= newHSSFWorkbook();
HSSFSheet sheet1= wb.createSheet("test picture");//画图的顶级管理器,一个sheet只能获取一个(一定要注意这点)