您的位置:首页 > 编程语言 > Java开发

Java向Excel中插入图片

2009-12-10 18:58 369 查看
import java.io.FileOutputStream;

import java.io.File;

import java.io.ByteArrayOutputStream;

import java.io.IOException;

import java.awt.image.BufferedImage;

import javax.imageio.*;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFPatriarch;

import org.apache.poi.hssf.usermodel.HSSFClientAnchor;;

public class TestPOI {

public static void main(String[] args) {

FileOutputStream fileOut = null;

BufferedImage bufferImg =null;

BufferedImage bufferImg1 = null;

try{

//先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArray

ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();

ByteArrayOutputStream byteArrayOut1 = new ByteArrayOutputStream();

bufferImg = ImageIO.read(new File("d:/PieChart.jpg"));

bufferImg1 = ImageIO.read(new File("d:/fruitBarChart.jpg"));

ImageIO.write(bufferImg,"jpg",byteArrayOut);

ImageIO.write(bufferImg1,"jpg",byteArrayOut1);

//创建一个工作薄

HSSFWorkbook wb = new HSSFWorkbook();

HSSFSheet sheet1 = wb.createSheet("new sheet");

//HSSFRow row = sheet1.createRow(2);

HSSFPatriarch patriarch = sheet1.createDrawingPatriarch();

HSSFClientAnchor anchor = new HSSFClientAnchor(0,0,512,255,(short) 1,1,(short)10,20);

HSSFClientAnchor anchor1 = new HSSFClientAnchor(0,0,512,255,(short) 2,30,(short)10,60);

anchor1.setAnchorType(2);

//插入图片

patriarch.createPicture(anchor , wb.addPicture(byteArrayOut.toByteArray(),HSSFWorkbook.PICTURE_TYPE_JPEG));

patriarch.createPicture(anchor1 , wb.addPicture(byteArrayOut1.toByteArray(),HSSFWorkbook.PICTURE_TYPE_JPEG));

fileOut = new FileOutputStream("d:/workbook.xls");

//写入excel文件

wb.write(fileOut);

fileOut.close();

}catch(IOException io){

io.printStackTrace();

System.out.println("io erorr : "+ io.getMessage());

} finally

{

if (fileOut != null)

{

try {

fileOut.close();

}

catch (IOException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: