`

POI中增加image

    博客分类:
  • JAVA
 
阅读更多

引用:http://poi.apache.org/spreadsheet/quick-guide.html#Images

 

Images are part of the drawing support. To add an image just call createPicture() on the drawing patriarch. At the time of writing the following types are supported:

  • PNG
  • JPG
  • DIB

It should be noted that any existing drawings may be erased once you add a image to a sheet.

    //create a new workbook
    Workbook wb = new XSSFWorkbook(); //or new HSSFWorkbook();

    //add picture data to this workbook.
    InputStream is = new FileInputStream("image1.jpeg");
    byte[] bytes = IOUtils.toByteArray(is);
    int pictureIdx = wb.addPicture(bytes, Workbook.PICTURE_TYPE_JPEG);
    is.close();

    CreationHelper helper = wb.getCreationHelper();

    //create sheet
    Sheet sheet = wb.createSheet();

    // Create the drawing patriarch.  This is the top level container for all shapes. 
    Drawing drawing = sheet.createDrawingPatriarch();

    //add a picture shape
    ClientAnchor anchor = helper.createClientAnchor();
    //set top-left corner of the picture,
    //subsequent call of Picture#resize() will operate relative to it
    anchor.setCol1(3);
    anchor.setRow1(2);
    Picture pict = drawing.createPicture(anchor, pictureIdx);

    //auto-size picture relative to its top-left corner
    pict.resize();

    //save workbook
    String file = "picture.xls";
    if(wb instanceof XSSFWorkbook) file += "x";
    FileOutputStream fileOut = new FileOutputStream(file);
    wb.write(fileOut);
    fileOut.close();
        
Warning
Picture.resize() works only for JPEG and PNG. Other formats are not yet supported.

Reading images from a workbook:

 
    List lst = workbook.getAllPictures();
    for (Iterator it = lst.iterator(); it.hasNext(); ) {
        PictureData pict = (PictureData)it.next();
        String ext = pict.suggestFileExtension();
        byte[] data = pict.getData();
        if (ext.equals("jpeg")){
          FileOutputStream out = new FileOutputStream("pict.jpg");
          out.write(data);
          out.close();
        }
    }


http://www.iteye.com/topic/18063 
http://pengliyong909.blog.163.com/blog/static/40832036201032735423383/
这二个可以参考下。
分享到:
评论

相关推荐

    通过POI将PPT插入图片并导出实例

    在这个实例中,我们将深入探讨如何利用POI库来创建一个PowerPoint演示文稿,并在其中插入图片。这个过程涉及到多个步骤,包括设置工作簿,创建幻灯片,以及添加图片到幻灯片。 首先,我们需要在项目中引入Apache ...

    POI操作Excel完美生成水印

    本教程将深入探讨如何利用Apache POI来在Excel文件中完美地生成水印。水印通常用于标识文档的所有权或提供额外的安全层,而这里的水印是通过将文字转化为图片再添加到Excel工作表中实现的。 首先,我们需要了解...

    POI操作Excel文档,帮助文档

    在 POI 1.7 及以后的版本中,还增加了 `HSSFHeader` 和 `HSSFFooter` 类别,分别用于处理页眉和页脚。 ##### 3. 具体用法实例 **读取 Excel 文件示例**: ```java import org.apache.poi.hssf.usermodel....

    java excel中表格导成png图片

    在Java编程环境中,将Excel表格转换为PNG图片是一项常见的需求,尤其在数据可视化或报告生成时。...在实际项目中,你可能还需要根据具体需求进行优化,比如增加错误处理、支持不同版本的Excel文件格式等。

    excel导出添加水印

    在Java中,利用POI库,我们可以方便地创建、修改和读取Excel文件,而无需安装Microsoft Office。 要给导出的Excel表格添加水印,首先需要理解Excel的文件格式。Excel文件实质上是一种XML格式,POI库通过解析和操作...

    Java 实现word文件增加图片水印 jacob实现 用到的jar

    Java是一种广泛使用的编程语言,尤其在企业级应用和服务器端开发中占据重要地位。在处理文档操作时,Java提供了一些库来实现高级功能,比如在Word文档中添加图片水印。本篇将深入探讨如何使用Java和两个特定的库——...

    基于SpringBoot+Vue搭建的多功能体育场地智能管理系统源码+数据库+项目说明.zip

    * apache的poi文件导出api ## 改进 * 由于前后端分离,项目加载速度快了很多,如果页面加载增加redis作为缓存会更好 * 使用了更好地框架进行搭建,更方便简单 * 项目的主要业务逻辑增加,主要是加锁和异步邮件,...

    基于SSM+MYSQL的居民电话登记系统源码+项目说明.zip

    ## 增加Docker版本 [系统前台镜像](https://hub.docker.com/repository/docker/bluef1ash/phone-number-manager-frontend),[系统后台镜像]...

    浅谈Java设置PPT幻灯片背景——纯色、渐变、图片背景

    Java设置PPT幻灯片背景是一个非常重要的功能,特别是在幻灯片设计中添加背景颜色或图片可以提高幻灯片的视觉效果。在本文中,我们将介绍如何使用Java设置PPT幻灯片背景,包括纯色、渐变和图片背景三个方面。 纯色...

    itext-2.1.7

    5. **Excel转PDF**:在iText中,通常需要先读取Excel文件,可以使用Apache POI库完成这一步。然后,解析Excel数据并创建相应的PDF表格结构。这涉及到对Excel行、列的理解,以及如何映射到PDF表格中。 6. **事件和回...

    itext导出word和pdf

    iText分为两个主要版本:iText 2.x和iText 5.x,这两个版本都支持PDF的创建、更新和解析,但iText 5.x增加了更多的功能和改进。 **iText导出PDF** iText在生成PDF文档方面表现出色,它允许开发者通过编程方式精确...

    HTML转换.rar

    Java提供了丰富的库,如Apache POI处理微软Office格式,PDFBox处理PDF,以及可能的图片处理库如JavaFX或Java Image I/O API。开发者通过这些库读取原始文件内容,解析为HTML元素,并生成HTML文件。 4. **JAR包**: ...

    JAVA动态生成word和pdf

    JAVA动态生成Word和PDF文档是企业级应用中常见的需求,特别是在报表生成、文档自动化等领域。以下是对几种常用技术的深入分析: ### JAVA动态生成Word文档技术及其优缺点 #### Jacob - **优点**:功能强大,能...

Global site tag (gtag.js) - Google Analytics