例子实现了在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();
}
}
}
}
}
上面代码,已经经过测试,呵呵!!
分享到:
相关推荐
java实现在Excel中插入图片有时碰到下载excel中加入图片或已经制作好的图章。
C#创建 读 写 Excel 在Excel中插入图片代码 COM 对于开发office应用和学习office的兄台们可以看看。。
JavaScript 使用ActiveX实现在Excel文件中插入图片
看了看别人给出的答案,没有比较理想的方案,做了这3个文件,相信对外贸业务员或其它经常需要在Excel中插入图片的人非常有用。 1.自动插入当前文件夹所有图片到B列并将图片名填入A列.xls 2.自动插入当前文件夹所有...
POI向excel中插入图片
利用java往excel中插入图片 POI利用java往excel中插入图片POI形式
excel中插入图片.rar源代码excel中插入图片.rar源代码excel中插入图片.rar源代码excel中插入图片.rar源代码excel中插入图片.rar源代码excel中插入图片.rar源代码excel中插入图片.rar源代码excel中插入图片.rar源代码...
本工程使用C#创建并且可以向创建的单元格中插入图片,工程是VS2010版本的,在VS2010以及以上可以直接运行。
介绍:c++ 操作Excel,支持读写,插入图片,单元格合并,颜色字体设置等等, 使用后不会有EXCEL.EXE进程存在,可以直接作为第三方库使用,附件是完整的项目,自测多次通过。如有问题,请交流讨论,谢谢!
excel2007插入图片,在bin\debug中有默认图片和生成的excel
功能说明:包含对工作表、单元格的常用操作,重点包含插入图片的功能 属性:普通类 其他:需要在工程中添加COM组件的引用:Microsoft Excel 12.0 Object Library (注:12.0是Excel2007的版本号,如果是2003...
使用EXCEL的COM组件,在指定EXCEL中插入图片,非图片链接。要求VS2010,.net4.0,EXCEL2003,2007,2010
Office Excel 和 Word 文档中插入图片很容易做到,但是要插入 GIF 动画,并且还要能让这个动画动起来, 就不能依照普通的“插入 → 图片 → 来自文件”的方法了,否则的话即便是把 GIF 插入进去,也只是个静态的画面...
使用EXCEL插入图片
DataGridView 添加图片 导出 excel 插入图片 添加图片 ,图片设置大小c# 包含源码
1、批量插入图片到Excel,设置单元格图片的格式 2、设定Excel格式单元格居中 3、设定Excel单元格文字格式,例如颜色、粗体等 4、设置行、列的高度宽度 ps: 程序依赖其他的python库,需要先安装pip,再利用pip安装...
不同Excel高级工具,只能用于X86的版本,X64均用不了,而且插入图片之前必须排好序,不然再排序,图片就对不上了。 Excel版本说明:本说明在Excel 2010 上测试成功,2007同样适用,2003未测试过。 批注方式显示图片...
该版本NPOI是可以在页眉中插入图片。但是是inline方式,能实现插入,但是离预期效果有点记录,可以使用
Excel VBA_插入图片实例集锦.doc
在用labview做工程时,少不了要做报表。报表常常会有各种图表。在此写一段小程序以共分享。