POI Excel 13 添加图片

来源:互联网 发布:淘宝运营简历范文 编辑:程序博客网 时间:2024/06/06 12:40

@author YHC

添加图片:

image是drawing其中的一部分,添加图片需要调用createPicture(),在写入文件的时候需要注意,支持一下的类型:

PNG,JPG,DIB,应该值得注意的是,一旦你添加图片到这个工作簿中,任何现有的图片可能被擦除.

该示例所需jar,以及下载的地址和页面:

commons-codec-1.6.jar下载页面:

commons-codec-1.6-bin.zip点击直接下载:

下图就是该例子需要的jar以及图片放置的路径:


代码:

            //创建Excel    Workbook wb = new HSSFWorkbook(); //or new HSSFWorkbook();    //添加图片信息到这个Excel中      InputStream is = new FileInputStream("rose.jpg");    //读取图片文件得到字节    byte[] bytes = IOUtils.toByteArray(is);    //向Excel添加一张图片,并返回该图片在Excel中的图片集合中的下标    int pictureIdx = wb.addPicture(bytes, Workbook.PICTURE_TYPE_JPEG);    //关闭流    is.close();    //工具类    CreationHelper helper = wb.getCreationHelper();    //创建工作簿    Sheet sheet = wb.createSheet();    //创建一个绘图对象      Drawing drawing = sheet.createDrawingPatriarch();    //添加一个图片    //创建锚点    ClientAnchor anchor = helper.createClientAnchor();    //设置图片的左上角     //接下来调用Picture#resize()设置图片相对于设置的左上角的位置    anchor.setCol1(3);//从0开始 第3列    anchor.setRow1(2);//从0开始 第2行    //根据锚点和图片下标创建并绘制一张图片    Picture pict = drawing.createPicture(anchor, pictureIdx);    //相对于图片的左上角自动适应大小    //===========>>>>>>>>>[注意]<<<<<<=================    //picture.resize() 仅仅只是针对这两种类型的图片 JPEG 和 PNG.     //其他格式暂时不支持    pict.resize();    //写入文件    String file = "picture.xls";    FileOutputStream fileOut = new FileOutputStream(file);    wb.write(fileOut);

运行之后的效果图:



如果以上有书写或者理解错误的地方,请大家指出,thanks!



原创粉丝点击