`
cheneyph
  • 浏览: 294077 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

两种方式向Excel中插入图片

    博客分类:
  • java
阅读更多

      目前对 Excel 的各种操作主要通过 POI 或 jxl  实现.  下面分别简要介绍如何向 Excel 中插入图片.

 

      1、利用 POI 向Excel中插入图片

       可参考:http://gocom.primeton.com/blog10751_1221.htm

       测试代码:

 

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("C:/graph.jpg"));
            bufferImg1 = ImageIO.read(new File("c:/person.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("C:/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();
                }
            }
        }
    }

 

       2、利用 jxl(jexcelapi) 向Excel中插入图片

       可参考:http://hi.baidu.com/82826200/blog/item/4c380f239c426c569922ed33.html

       目前, 此方式只支持 PNG 格式图片.

       测试代码:

String path = "c:/testJxl.xls";
        File file = new File(path);
        if (file.exists())
            file.delete();

        boolean flag = true;
        WritableWorkbook wwb = null;
        try {
            wwb = Workbook.createWorkbook(file);
            WritableSheet ws = wwb.createSheet("Test Sheet 1", 0);
            File fileImage = new File("C:\\graph.png");
           
            BufferedImage bufImage = ImageIO.read(fileImage);
            double height = bufImage.getHeight();
            double width = bufImage.getWidth();
           
            WritableImage image = new WritableImage(1, 4, 6, 18, fileImage);         
           
            ws.addImage(image);
            wwb.write();
            try {
                wwb.close();
            } catch (WriteException e) {
                flag = false;
            } catch (IOException e) {
                flag = false;
            }
        } catch (IOException e) {
            flag = false;
        }

        if (flag)
            System.out.println("Success!");
        else
            System.out.println("False!");
    }

 

附:

     POI 下载地址:http://apache.mirror.phpchina.com/poi/

     jxl 下载地址:  http://sourceforge.net/project/showfiles.php?group_id=79926

 

1
1
分享到:
评论

相关推荐

    Excel自动插入图片

    您可以在Excel中按以下两种方式压缩图片: (1)按顺序点击菜单:文件->另存为->工具-压缩图片" (2)右键点击图片;在快捷菜单上选择显示或隐藏 '图片' 工具栏;点击 '图片' 工具栏上的 '压缩图片' 命令;选择 '应用...

    C#向Excel报表中插入图片的2种方法

    本文将详细介绍两种在C#中向Excel报表中插入图片的方法,并提供具体的代码示例及注意事项。 #### 二、准备工作 在开始之前,请确保已经安装了Microsoft Office 2003或更高版本,并且在项目中引用了“Microsoft ...

    ExcelCOM 组件 插入图片

    在IT行业中,Excel COM组件是一种常见的工具,它允许开发者通过编程方式与Microsoft Excel进行交互,实现自动化处理和数据操作。...了解并掌握这些步骤,你就能在Excel中灵活地通过编程方式插入图片,实现自动化处理。

    c# 图片插入Excel

    它提供了一系列方法来打开Excel文档(无论是新创建还是基于模板)、插入图片到指定单元格,并保存和关闭文档。 - **Open 方法**: 分为两个重载版本,一个不带参数,表示创建一个新的Excel文档;另一个接受一个...

    在Excel工作表中插入图片PPT学习教案.pptx

    本节课程的重点在于掌握这两种插入图片的方法,它们对于增强Excel表格的视觉吸引力和信息传达效率至关重要。在实际操作中,可以结合练习题和课本中的练习进一步巩固所学知识。例如,尝试在实际的会计报表或教学课件...

    java 生成Excel 图片插入、特殊字符插入、单个Cell中多种字体

    本文将详细介绍如何使用Java实现Excel的生成,包括插入图片、添加特殊字符如复选框样式,以及在一个单元格内设置多种字体。我们将主要讨论Apache POI库,这是一个流行的Java API,用于读写Microsoft Office格式的...

    excel表格如何插入图片.doc

    Excel表格中插入图片的多种方法 Excel表格中插入图片是许多用户经常遇到的问题,本文将为读者提供多种解决方案。 一、让图片跟着表格走 在Excel表格中插入图片时,如何让图片跟着表格走?答案是:选中图片,点击...

    导出Excel多个单元格合并及图片插入

    在导出的Excel文件中插入图片是一项常见的需求,尤其是在需要展示具体的巡检抓图的情况下。然而,由于平台通常只保存图片的URL地址,因此需要额外的步骤来处理图片的插入。 **解决方案:** - 使用Apache POI库,...

    C#采用OpenXml给word里面插入图片

    要向Word文档中插入图片,我们需要处理几个关键步骤: - **获取图片类型**:通过图片文件的扩展名,我们可以确定图片的类型(如`.bmp`, `.jpg`, `.png`等),这将用于创建对应的`ImagePartType`。 - **添加图片...

    Excel导出两种方式

    本篇文章将深入探讨如何通过javabean和Map两种方式使用Apache POI库来导出包含图片的Excel表格。 Apache POI是Apache软件基金会的一个开源项目,它为Microsoft Office格式(如DOC, XLS, PPT等)提供了读写支持。...

    Excel插入图片的调整.rar

    以下是对Excel插入图片调整功能的详细解读: 1. 插入图片:首先,用户可以在Excel工作表的任意位置通过“插入”菜单选择“图片”,从本地文件或网络资源中选取图片。图片一旦插入,就可以自由拖动以改变位置,或...

    Excel高级插件(17个插件集合)-批量导入插入图片等-Part2

    例如有两张名为“诺基亚8310”、“诺基亚7600”的图片,只需要在单元格输入“诺基亚”就行了,导入图片时可以将“诺基亚”开头的图片全部导入。 5.数量灵活:对于多个图片符合同一单元格名称的状况,可以将所有图片...

    使用EasyPOI导出Excel模板数据(含图片)博文源码

    `QRcodeUtil.java`和`BarcodeUtil.java`这两个类可能涉及到在Excel中插入二维码和条形码的功能。在某些业务场景下,可能需要将这些编码作为图像插入到Excel单元格中,例如用于追踪产品或提供可扫描的信息。这些工具...

    C#实现DataGridView转换为Excel(包括图片和文本)

    4. 处理图片:遍历DataGridView中的Image列,获取每个单元格的图片,将其保存到临时文件,然后在Excel中插入图片。注意要设置图片的大小和位置以匹配原始显示。 ```csharp int picRow = 1; // 图片所在的行 ...

    【会计实操经验】把word表格转换成excel格式的两种方法.pdf

    在本文中,我们将分享两种将Word表格转换成Excel格式的方法,这两种方法非常实用,尤其是在会计实践中。下面,我们将详细介绍这两种方法,并对其进行详细的分析和解释。 方法一:直接把表格粘贴到Excel 这种方法...

    Excel百宝箱 9.0 破解版 批量导入图片等200种功能

    有两种合并方式 【文本与数值互换】将选区的数字瞬间转换成文本;将选区的文本型数字瞬间转换成数值 【复选框工具】批量生成复选框(方框中打勾的工具),批量选定、取消复选框。且可以定义复框是否可以打印、与...

    Excel高级插件(17个插件集合)-批量导入插入图片等-Part1

    例如有两张名为“诺基亚8310”、“诺基亚7600”的图片,只需要在单元格输入“诺基亚”就行了,导入图片时可以将“诺基亚”开头的图片全部导入。 5.数量灵活:对于多个图片符合同一单元格名称的状况,可以将所有图片...

    C#导出图片到excle(使用npoi,支持批量,单行多张图片)

    NPOI提供了两种主要的接口:HSSFWorkbook用于处理老版本的Excel (97-2003) 文件,而XSSFWorkbook则适用于新版本的Excel (2007+) 文件。由于新版本的Excel格式支持更多的特性,这里我们主要讨论使用XSSFWorkbook的...

    Excel上传数据和图片

    在Excel中插入图片可以使用Interop库或EPPlus。在EPPlus中,你可以创建一个图片对象,然后将其添加到工作表的特定单元格中: ```csharp using (var file = File.OpenRead("image.jpg")) { var image = package....

    会计实务:Excel中刷新数据透视表的两种方法.pdf

    Excel 中刷新数据透视表的两种方法 Excel 中刷新数据透视表的两种方法是会计实务中非常重要的一部分。为了帮助会计行业从业人员更好地掌握财务软件的应用技巧,本文将详细介绍 Excel 中刷新数据透视表的两种方法。 ...

Global site tag (gtag.js) - Google Analytics