java导出图片到excel_POI:将图片导出到Excel

本文介绍如何使用Java的POI库将图片导出到Excel文件中。通过创建HSSFWorkbook,设置HSSFSheet,并利用HSSFPatriarch和HSSFClientAnchor来创建和定位图片。

POI什么的在此我就不多作介绍了,在POI中生成图片有关的有HSSFPatriarch和HSSFClientAnchor,前者负责在表中创建图片,后者负责设置图片的大小位置。

/**

* 根据输出路径及要导出的图片文件生成EXCEL

* @param desPath

* @param file

*/

private void createSheet(String desPath, String file) {

try {

// 创建图片页

HSSFWorkbook workbook = new HSSFWorkbook();

HSSFSheet sheet = workbook.createSheet("模型图");

ByteArrayOutputStream outStream = new ByteArrayOutputStream();

// 将图片写入流中

BufferedImage bufferImg = ImageIO.read(new File(file));

ImageIO.write(bufferImg, "PNG", outStream);

// 利用HSSFPatriarch将图片写入EXCEL

HSSFPatriarch patri = sheet.createDrawingPatriarch();

HSSFClientAnchor anchor = new HSSFClientAnchor(5, 5, 5, 5,

(short) 5, 2, (short) 15, 25);

patri.createPicture(anchor, workbook.addPicture(

outStream.toByteArray(), HSSFWorkbook.PICTURE_TYPE_PNG));

workbook.write(new FileOutputStream(desPath));

} catch (Exception e) {

final String message = e.toString();

Display.getDefault().syncExec(new Runnable() {

@Override

public void run() {

MessageBox box = new MessageBox(Display.getDefault().getActiveShell(), SWT.ERROR);

box.setText("导出错误");

box.setMessage(message);

box.open();

}

});

e.printStackTrace();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值