例子实现了在Excel中插入图片.
/**
* java实现在excel中插入图片
*/
package com.together.nms.dt.data.model.hibernate.test;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JOptionPane;
import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
import org.apache.poi.hssf.usermodel.HSSFPatriarch;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class testPoiPicture {
/**
* @param args
*/
public static void main(String[] args) {
FileOutputStream fileOut = null;
BufferedImage bufferImg = null;
BufferedImage bufferImg1 = null;
try {
// 先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArray
// 读入图片1
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
bufferImg = ImageIO.read(new File("c:\\1285748103156_000.jpg"));
ImageIO.write(bufferImg, "jpg", byteArrayOut);
// 读入图片2
// ByteArrayOutputStream byteArrayOut1 = new
// ByteArrayOutputStream();
// bufferImg1 = ImageIO.read(new File("F:\\photo\\baby\\104.png"));
// ImageIO.write(bufferImg1, "png", byteArrayOut1);
// 创建一个工作薄
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet1 = wb.createSheet("test picture");
HSSFPatriarch patriarch = sheet1.createDrawingPatriarch();
HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 255, 255,
(short) 1, 1, (short) 5, 5);
// anchor.setAnchorType(3);
HSSFClientAnchor anchor1 = new HSSFClientAnchor(0, 0, 255, 255,
(short) 6, 6, (short) 10, 10);
// anchor1.setAnchorType(3);
// 插入图片1
patriarch
.createPicture(anchor, wb.addPicture(
byteArrayOut.toByteArray(),
HSSFWorkbook.PICTURE_TYPE_JPEG));
// 插入图片2
// patriarch.createPicture(
// anchor1,
// wb.addPicture(byteArrayOut1.toByteArray(),
// HSSFWorkbook.PICTURE_TYPE_PNG)).resize(0.5);
fileOut = new FileOutputStream("d:/testbook.xls");
// 写入excel文件
wb.write(fileOut);
JOptionPane.showMessageDialog(null, "图片已经成功导入到 : " + fileOut);
fileOut.close();
} catch (IOException io) {
JOptionPane.showMessageDialog(null, "图片导入失败,错误信息 :" + io
+ "\n错误原因可能是图片已经打开。");
io.printStackTrace();
System.out.println("erorr : " + io.getMessage());
} finally {
if (fileOut != null) {
try {
fileOut.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
上面代码,已经经过测试,呵呵!!
分享到:
相关推荐
这篇教程将专注于如何使用C#创建、读取、写入Excel文件,并且重点讲解如何在Excel中插入图片。我们将通过COM(Component Object Model)接口来实现这一功能,这是微软提供的一个允许不同应用程序之间交互的技术。 ...
总结起来,Java实现Excel中插入图片的核心步骤包括:导入Apache POI库,创建并操作工作簿和工作表,读取和创建图片对象,创建绘图工作表,设置图片位置,最后保存工作簿。在实际开发中,可能还需要处理图片格式转换...
JavaScript 使用ActiveX实现在Excel文件中插入图片
看了看别人给出的答案,没有比较理想的方案,做了这3个文件,相信对外贸业务员或其它经常需要在Excel中插入图片的人非常有用。 1.自动插入当前文件夹所有图片到B列并将图片名填入A列.xls 2.自动插入当前文件夹所有...
在本文中,我们将深入探讨如何使用POI库向Excel工作簿中插入图片。这将涵盖相关的API,步骤以及一些实用技巧。 首先,我们需要理解Excel的内部结构。在Excel文件中,图片是以OLE对象的形式存储的。POI提供了...
本篇文章将详细介绍如何利用Java和Apache POI库向Excel工作表中插入图片。 首先,我们需要理解Apache POI的工作原理。POI提供了一个名为HSSFPatriarch的类,它是Excel中的图形绘制容器,可以用于插入图片。对于....
本文将详细介绍两种在C#中向Excel报表中插入图片的方法,并提供具体的代码示例及注意事项。 #### 二、准备工作 在开始之前,请确保已经安装了Microsoft Office 2003或更高版本,并且在项目中引用了“Microsoft ...
在C#编程环境中,利用Microsoft Office Interop库可以实现向Excel工作簿中插入图片的功能。这个项目"OfficeRedevelopment"就是针对这一需求而设计的,适用于VS2010及更高版本的Visual Studio。下面将详细介绍如何在...
excel中插入图片.rar源代码excel中插入图片.rar源代码excel中插入图片.rar源代码excel中插入图片.rar源代码excel中插入图片.rar源代码excel中插入图片.rar源代码excel中插入图片.rar源代码excel中插入图片.rar源代码...
在Excel 2007中插入图片是进行数据可视化或创建报告时常用的功能。这个过程简单易行,但包含了一些可以提升工作效率和效果的小技巧。下面将详细介绍如何在Excel 2007中插入图片,并探讨相关的知识点。 首先,打开...
### 知识点二:在 Excel 中插入图片 1. **确定图片路径**: - 示例中通过字符串拼接的方式获取图片的完整路径,如 `"E:\\վ\\xunyuan\\Web\\upload\\" + dt.Rows[i]["a1"].ToString().Substring(7);`。 - 注意...
介绍:c++ 操作Excel,支持读写,插入图片,单元格合并,颜色字体设置等等, 使用后不会有EXCEL.EXE进程存在,可以直接作为第三方库使用,附件是完整的项目,自测多次通过。如有问题,请交流讨论,谢谢!
功能说明:包含对工作表、单元格的常用操作,重点包含插入图片的功能 属性:普通类 其他:需要在工程中添加COM组件的引用:Microsoft Excel 12.0 Object Library (注:12.0是Excel2007的版本号,如果是2003...
在这个特定的场景中,我们关注的是NPOI在Excel页眉中插入图片的能力。虽然标题提到的是“NPOI可以在页眉中插入图片”,但描述也指出这种方式是“inline”的,可能不完全符合期望的效果。这意味着插入的图片可能不会...
在 VBA 中,可以使用 `Shapes.AddPicture` 方法来插入图片。例如: ```vb Dim shp As Shape Set shp = ActiveSheet.Shapes.AddShape(msoShapeRectangle, ML, MT, MW, MH) shp.Fill.UserPicture myPath & myName ``` ...
在IT行业中,Excel COM组件是一种常见的工具,它允许开发者通过编程方式与Microsoft Excel进行交互,实现自动化处理和数据操作。...了解并掌握这些步骤,你就能在Excel中灵活地通过编程方式插入图片,实现自动化处理。
本篇将深入探讨如何利用C++来操作Excel,包括插入图片、在单元格中插入文字、修改单元格格式、调整行宽以及输入公式进行自动计算。 首先,为了在C++中操作Excel,我们需要一个库或API。Microsoft提供了COM...
在Excel工作表中插入图片是一项常见的操作,尤其在制作报告、数据分析或创建图表时非常有用。下面我们将详细探讨如何在Excel中插入图片以及相关的应用技巧。 1. 插入图片的基本步骤: - 打开Excel工作簿:首先,...
在 Excel 2021 中,我们可以插入图片批注,以增强批注的可读性和可理解性。 知识点 1: 插入批注 在 Excel 2021 中,插入批注非常简单,只需要按照以下步骤操作: 1. 启动 Excel 2021,选择一个单元格。 2. 点击...
使用EXCEL插入图片