首页 > 其他 > 详细

POI导出图片到EXCEL

时间:2014-02-18 16:17:49      阅读:452      评论:0      收藏:0      [点我收藏+]

1.Apache POI简介

Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对Microsoft Office格式档案读和写的功能。 .NET的开发人员则可以利用NPOI (POI for .NET) 来存取 POI 的功能。

2.POI结构

HSSF - 提供读写Microsoft Excel XLS格式档案的功能。
XSSF - 提供读写Microsoft Excel OOXML XLSX格式档案的功能。
HWPF - 提供读写Microsoft Word DOC格式档案的功能。
HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
HDGF - 提供读Microsoft Visio格式档案的功能。
HPBF - 提供读Microsoft Publisher格式档案的功能。
HSMF - 提供读Microsoft Outlook格式档案的功能。

3.参考实例

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 exportPicToExcel {


public static void main(String[] args) {

FileOutputStream fileOut = null;

BufferedImage bufferImg = null;

BufferedImage bufferImg2 = null;

try {

bufferImg = ImageIO.read(new File("C:/ztest/pic.jpg"));

bufferImg2 = ImageIO.read(new File("C:/ztest/pic2.jpg"));


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

ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();

ByteArrayOutputStream byteArrayOut2 = new ByteArrayOutputStream();

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

ImageIO.write(bufferImg2, "jpg", byteArrayOut2);


// 创建一个工作薄

HSSFWorkbook wb = new HSSFWorkbook();

HSSFSheet sheet1 = wb.createSheet("poi picT");

HSSFPatriarch patriarch = sheet1.createDrawingPatriarch();

HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 50, 25,

(short) 3, 3, (short) 4, 4);

HSSFClientAnchor anchor2 = new HSSFClientAnchor(0, 0, 50, 25,

(short) 5, 5, (short) 6, 6);

anchor2.setAnchorType(2);


// 插入图片

patriarch.createPicture(anchor, wb.addPicture(byteArrayOut

.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));

patriarch.createPicture(anchor2, wb.addPicture(byteArrayOut2

.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));


// 写入excel文件

fileOut = new FileOutputStream("c:/ztest/test.xls");

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();

}

}

}

}

}


// 关于POI的更多参考:

// http://www.cnblogs.com/xwdreamer/archive/2011/07/20/2296975.html

// http://langhua9527.iteye.com/blog/388005


POI导出图片到EXCEL

原文:http://jclpc.blog.51cto.com/4906204/1360036

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!