Java 添加OLE对象到Excel文档
本文介绍通过Java程序添加OLE对象到Excel文档。OLE分为两种形式,一种通过嵌入(Embed),方式,一种通过链接(Link)方式。前者是将对象嵌入到文档中,外部对该对象的更改不影响嵌入操作时的对象;后者是以链接形式来保存对象,外部任何对该对象的更改都会影响文档。这里的对象,支持多种不同类型(如下图),如PDF、Word、Excel、PPT等常见格式的文档类型。

本文中的Java代码示例以Word文档为对象通过嵌入方式添加到Excel工作表的指定单元格,代码可供参考。
工具:Free Spire.Office for Java (免费版)
注:jar文件获取可通过官网下载,并解压将lib文件夹下的Spire.Office.jar导入java程序,也可通过maven仓库下载并导入。
jar导入效果如下:

Java 代码示例
import com.spire.doc.documents.ImageType;
import com.spire.xls.*;
import com.spire.xls.core.IOleObject;
import com.spire.doc.Document; import java.awt.*;
import java.awt.image.BufferedImage; public class AddOLE { public static void main(String[] args) {
//加载excel文档
Workbook wb = new Workbook();
wb.loadFromFile("test.xlsx"); //获取第一个工作表
Worksheet sheet = wb.getWorksheets().get(0); //获取Word文档图片
String docx = "sample.docx";
BufferedImage image = GetWordImage(docx); //插入OLE到工作表指定单元格
IOleObject oleObject = sheet.getOleObjects().add(docx,image,OleLinkType.Embed);//插入指定类型的OLE
oleObject.setLocation(sheet.getCellRange("A1"));//指定单元格
oleObject.setObjectType(OleObjectType.WordDocument);//指定OLE对象类型(这里可支持多种类型) //保存文档
wb.saveToFile("AddOLE.xlsx",ExcelVersion.Version2010);
wb.dispose();
}
//定义一个GetWordImage(string docxFile) 方法获取图片,这里的图片来自于Word文档中的数据信息图像,将OLE对象插入到Excel工作表后,这个图像将显示在Excel工作表中
static BufferedImage GetWordImage(String docxFile)
{
//加载Word文档
Document doc = new Document();
doc.loadFromFile(docxFile); //将Word文档的第一页保存为图片
Image olePicture = doc.saveToImages(0, ImageType.Bitmap);
return (BufferedImage) olePicture;
}
}
OLE添加效果:

(本文完)
Java 添加OLE对象到Excel文档的更多相关文章
- Java 添加超链接到Excel文档
超链接即内容链接,通过给特定对象设置超链接,可实现载体与特定网页.文件.邮件.网络等的链接,点击链接载体可打开链接目标,在文档处理中是一种比较常用的功能.本文将介绍通过Java程序给Excel文档添加 ...
- Java使用poi包读取Excel文档
项目需要解析Excel文档获取数据,就在网上找了一些资料,结合自己这次使用,写下心得: 1.maven项目需加入如下依赖: <dependency> <groupId>org. ...
- Java 添加超链接到Word文档
对特定元素添加超链接后,用户可以通过点击被链接的元素来激活这些链接,通常在被链接的元素下带有下划线或者以不同的颜色显示来进行区分.按照使用对象的不同,链接可以分为文本超链接,图像超链接,E-mail链 ...
- 【Java】常用POI生成Excel文档设置打印样式
package poi_test; import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi ...
- Java 添加、读取、删除Excel文档属性
在文档属性中,可以设置诸多关于文档的信息,如创建时间.作者.单位.类别.关键词.备注等摘要信息以及一些自定义的文档属性.下面将通过Java程序来演示如何设置,同时对文档内的已有信息,也可以实现读取和删 ...
- Java下使用Apache POI生成具有三级联动下拉列表的Excel文档
使用Apache POI生成具有三级联动下拉列表的Excel文档: 具体效果图与代码如下文. 先上效果图: 开始贴代码,代码中部分测试数据不影响功能. 第一部分(核心业务处理): 此部分包含几个方面: ...
- excel文档中嵌入对象(excel、word等)
//测试环境office2016.office365 string InsertPath= @"E:\\新建文件夹\\2.xls";//插入的文档路径 string openfil ...
- Win7如何自定义鼠标右键菜单 添加新建EXCEL文档
鼠标右键添加新建EXCEL文档.reg Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.xls] "Content Type ...
- C# 添加、读取、删除Excel文档属性
在文档属性中,可以设置诸多关于文档的信息,如创建时间.作者.单位.类别.关键词.备注等摘要信息以及一些自定义的文档属性.下面将通过C#程序来演示如何设置,同时对文档内的已有信息,也可以实现读取或删除等 ...
随机推荐
- 【转】c#中数组赋值方法
C#中数组复制有多种方法,数组间的复制 ,,,};int [] alias = pins; 这里出了错误,也是错误的根源,以上代码并没有出错,但是根本不是复制,因为pins和alias都是引用,存在于 ...
- 【转】Algorithms -离散概率值(discrete)和重置、洗牌(shuffle)算法及代码
离散概率值(discrete) 和 重置\洗牌(shuffle) 算法 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/1 ...
- Fabric1.4:链码管理与测试
1 链码介绍 智能合约在 Hyperledger Fabric 中称为链码(chaincode),是提供分布式账本的状态处理逻辑.链码被部署在fabric 的网络节点中,能够独立运行在具有安全特性的受 ...
- sparkstreaming消费kafka后bulk到es
不使用es-hadoop的saveToES,与scala版本冲突问题太多.不使用bulkprocessor,异步提交,es容易oom,速度反而不快.使用BulkRequestBuilder同步提交. ...
- 【一起学源码-微服务】Eureka+Ribbon+Feign阶段性总结
前言 想说的话 这里已经梳理完Eureka.Ribbon.Feign三大组件的基本原理了,今天做一个总结,里面会有一个比较详细的调用关系流程图. 说明 原创不易,如若转载 请标明来源! 博客地址:一枝 ...
- 悄摸直播(三)—— 搭建rtmp服务器(smart_rtmpd - rtmp服务器搭建)
悄摸直播 -- javaCV实现本机摄像头画面远程直播 搭建rtmp服务器 一.素材 rtmp服务器:smart_rtmpd ffmpeg工具:ffmpeg.exe 二.搭建 1.下载smart_rt ...
- javascript 实现中文按照拼音首字母排序
js提供了sort()方法来对数组内的数据进行排序,但是只是对英文有作用,这个时候需要自定义排序的规则 ['张三','李四','王五'].sort((a, b) => a.localeCompa ...
- 【智能合约】编写复杂业务场景下的智能合约——可升级的智能合约设计模式(附Demo)
智能合约的现状 以太坊在区块链上实现了智能合约的概念,用于:同质化通证发行(ERC-20).众筹.投票.存证取证等等,共同点是:合约逻辑简单,只是业务流程中的关键节点,而非整个业务流程.而智能合约想解 ...
- UidGenerator springboot2集成篇
uid-generator 官网集成文档: https://github.com/baidu/uid-generator/blob/master/README.zh_cn.md 由于并没有提供spri ...
- 共享excel工作簿