目前对 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
分享到:
相关推荐
您可以在Excel中按以下两种方式压缩图片: (1)按顺序点击菜单:文件->另存为->工具-压缩图片" (2)右键点击图片;在快捷菜单上选择显示或隐藏 '图片' 工具栏;点击 '图片' 工具栏上的 '压缩图片' 命令;选择 '应用...
本文将详细介绍两种在C#中向Excel报表中插入图片的方法,并提供具体的代码示例及注意事项。 #### 二、准备工作 在开始之前,请确保已经安装了Microsoft Office 2003或更高版本,并且在项目中引用了“Microsoft ...
在IT行业中,Excel COM组件是一种常见的工具,它允许开发者通过编程方式与Microsoft Excel进行交互,实现自动化处理和数据操作。...了解并掌握这些步骤,你就能在Excel中灵活地通过编程方式插入图片,实现自动化处理。
它提供了一系列方法来打开Excel文档(无论是新创建还是基于模板)、插入图片到指定单元格,并保存和关闭文档。 - **Open 方法**: 分为两个重载版本,一个不带参数,表示创建一个新的Excel文档;另一个接受一个...
本节课程的重点在于掌握这两种插入图片的方法,它们对于增强Excel表格的视觉吸引力和信息传达效率至关重要。在实际操作中,可以结合练习题和课本中的练习进一步巩固所学知识。例如,尝试在实际的会计报表或教学课件...
本文将详细介绍如何使用Java实现Excel的生成,包括插入图片、添加特殊字符如复选框样式,以及在一个单元格内设置多种字体。我们将主要讨论Apache POI库,这是一个流行的Java API,用于读写Microsoft Office格式的...
Excel表格中插入图片的多种方法 Excel表格中插入图片是许多用户经常遇到的问题,本文将为读者提供多种解决方案。 一、让图片跟着表格走 在Excel表格中插入图片时,如何让图片跟着表格走?答案是:选中图片,点击...
在导出的Excel文件中插入图片是一项常见的需求,尤其是在需要展示具体的巡检抓图的情况下。然而,由于平台通常只保存图片的URL地址,因此需要额外的步骤来处理图片的插入。 **解决方案:** - 使用Apache POI库,...
要向Word文档中插入图片,我们需要处理几个关键步骤: - **获取图片类型**:通过图片文件的扩展名,我们可以确定图片的类型(如`.bmp`, `.jpg`, `.png`等),这将用于创建对应的`ImagePartType`。 - **添加图片...
本篇文章将深入探讨如何通过javabean和Map两种方式使用Apache POI库来导出包含图片的Excel表格。 Apache POI是Apache软件基金会的一个开源项目,它为Microsoft Office格式(如DOC, XLS, PPT等)提供了读写支持。...
以下是对Excel插入图片调整功能的详细解读: 1. 插入图片:首先,用户可以在Excel工作表的任意位置通过“插入”菜单选择“图片”,从本地文件或网络资源中选取图片。图片一旦插入,就可以自由拖动以改变位置,或...
例如有两张名为“诺基亚8310”、“诺基亚7600”的图片,只需要在单元格输入“诺基亚”就行了,导入图片时可以将“诺基亚”开头的图片全部导入。 5.数量灵活:对于多个图片符合同一单元格名称的状况,可以将所有图片...
`QRcodeUtil.java`和`BarcodeUtil.java`这两个类可能涉及到在Excel中插入二维码和条形码的功能。在某些业务场景下,可能需要将这些编码作为图像插入到Excel单元格中,例如用于追踪产品或提供可扫描的信息。这些工具...
4. 处理图片:遍历DataGridView中的Image列,获取每个单元格的图片,将其保存到临时文件,然后在Excel中插入图片。注意要设置图片的大小和位置以匹配原始显示。 ```csharp int picRow = 1; // 图片所在的行 ...
在本文中,我们将分享两种将Word表格转换成Excel格式的方法,这两种方法非常实用,尤其是在会计实践中。下面,我们将详细介绍这两种方法,并对其进行详细的分析和解释。 方法一:直接把表格粘贴到Excel 这种方法...
有两种合并方式 【文本与数值互换】将选区的数字瞬间转换成文本;将选区的文本型数字瞬间转换成数值 【复选框工具】批量生成复选框(方框中打勾的工具),批量选定、取消复选框。且可以定义复框是否可以打印、与...
例如有两张名为“诺基亚8310”、“诺基亚7600”的图片,只需要在单元格输入“诺基亚”就行了,导入图片时可以将“诺基亚”开头的图片全部导入。 5.数量灵活:对于多个图片符合同一单元格名称的状况,可以将所有图片...
NPOI提供了两种主要的接口:HSSFWorkbook用于处理老版本的Excel (97-2003) 文件,而XSSFWorkbook则适用于新版本的Excel (2007+) 文件。由于新版本的Excel格式支持更多的特性,这里我们主要讨论使用XSSFWorkbook的...
在Excel中插入图片可以使用Interop库或EPPlus。在EPPlus中,你可以创建一个图片对象,然后将其添加到工作表的特定单元格中: ```csharp using (var file = File.OpenRead("image.jpg")) { var image = package....
Excel 中刷新数据透视表的两种方法 Excel 中刷新数据透视表的两种方法是会计实务中非常重要的一部分。为了帮助会计行业从业人员更好地掌握财务软件的应用技巧,本文将详细介绍 Excel 中刷新数据透视表的两种方法。 ...