Java实现添加,读取和删除Excel图片的方法详解
作者:E-iceblue 时间:2023-11-27 06:29:33
介绍
本文介绍在Java程序中如何添加图片到excel表格,添加图片时可设置图片大小、位置、旋转、超链接、可选文本等,以及如何读取、删除excel表格中已有的图片。
工具:Free Spire.XLS for Java (免费版)
注:可通过官网下载包,并解压将lib文件夹下的jar文件导入java程序;或者通过maven仓库下载导入。
Jar导入效果:
Java 代码示例
示例1添加图片
import com.spire.xls.*;
public class AddImage {
public static void main(String[] args) {
//加载文档
Workbook wb = new Workbook();
wb.loadFromFile("test.xlsx");
//获取工作表
Worksheet sheet = wb.getWorksheets().get(0);
//添加图片
ExcelPicture picture = sheet.getPictures().add(7,2,"tp.png");
picture.setHeight(270);//设置图片高度
picture.setWidth(550);//设置图片宽度
picture.setRotation(20);//设置图片旋转角度
picture.setAlternativeText("Picture1");//设置图片可选文本
picture.setHyperLink("http://www.baidu.com",true);//添加超链接到图片
//保存文档
wb.saveToFile("AddImage.xlsx", ExcelVersion.Version2010);
wb.dispose();
}
}
图片添加效果:
示例2读取图片
import com.spire.xls.*;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class ExtractImage {
public static void main(String[] args) throws IOException {
//加载文档
Workbook wb = new Workbook();
wb.loadFromFile("AddImage.xlsx");
//获取第一张工作表
Worksheet sheet = wb.getWorksheets().get(0);
//获取工作表中第一张图片并保存到指定路径
ExcelPicture pic = sheet.getPictures().get(0);
BufferedImage loImage = pic.getPicture();
ImageIO.write(loImage,"jpg",new File("ExtractedImage.jpg"));
}
}
图片读取结果:
示例3删除图片
import com.spire.xls.*;
public class RemoveImage {
public static void main(String[] args) {
//加载文档
Workbook wb = new Workbook();
wb.loadFromFile("AddImage.xlsx");
//获取指定工作表
Worksheet sheet = wb.getWorksheets().get(0);
//获取指定图片,删除
sheet.getPictures().get(0).remove();
//保存文档
wb.saveToFile("RemoveImage.xlsx",ExcelVersion.Version2010);
wb.dispose();
}
}
运行程序后,生成的文件可查看图片删除效果。
来源:https://www.cnblogs.com/Yesi/p/12356955.html
标签:Java,添加,读取,删除,Excel,图片
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
SpringBoot配置 Druid 三种方式(包括纯配置文件配置)
2021-06-03 01:41:19
![](https://img.aspxhome.com/file/2023/7/113197_0s.png)
java动态绑定和静态绑定用法实例详解
2022-04-17 19:55:20
C#集合之列表的用法
2021-12-27 19:46:43
C#实现导出List数据到xml文件的方法【附demo源码下载】
2022-02-13 10:32:14
![](https://img.aspxhome.com/file/2023/6/111186_0s.png)
spring cloud gateway网关路由分配代码实例解析
2021-06-09 02:54:08
基于Android LayoutInflater的使用介绍
2023-12-22 23:50:03
![](https://img.aspxhome.com/file/2023/0/138260_0s.jpg)
Kotlin协程低级api startCoroutine与ContinuationInterceptor
2022-05-04 21:45:50
![](https://img.aspxhome.com/file/2023/2/137492_0s.jpg)
详解Spring-Boot中如何使用多线程处理任务
2022-05-14 13:10:40
C#实现将记事本中的代码编译成可执行文件的方法
2022-03-05 02:17:53
![](https://img.aspxhome.com/file/2023/8/78118_0s.png)
Unity为软件添加使用有效期的具体步骤
2022-07-01 16:45:03
![](https://img.aspxhome.com/file/2023/1/113801_0s.png)
一文理解Android系统中强指针的实现
2022-03-11 11:37:02
springboot反爬虫组件kk-anti-reptile的使用方法
2022-01-09 14:12:59
![](https://img.aspxhome.com/file/2023/6/85896_0s.png)
Java中对list map根据map某个key值进行排序的方法
2023-09-04 17:10:03
Java continue break制作简单聊天室程序
2022-12-20 01:23:01
java开发分布式服务框架Dubbo原理机制详解
2023-01-04 19:53:01
![](https://img.aspxhome.com/file/2023/0/71210_0s.png)
SpringBoot框架RESTful接口设置跨域允许
2021-12-31 13:40:19
C#连接ODBC数据源的方法
2023-04-20 07:30:33
java中Swing会奔跑的线程侠
2021-12-14 23:47:36
![](https://img.aspxhome.com/file/2023/8/65158_0s.gif)
java实现猜拳游戏
2023-08-04 04:23:52
源码浅析Android中内存泄漏检测工具Leakcanary的使用
2021-11-02 12:30:11
![](https://img.aspxhome.com/file/2023/8/88658_0s.png)