Java 添加、读取、删除Excel图片

本文介绍在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();
    }
}
复制代码

运行程序后,生成的文件可查看图片删除效果。

 

(本文完)

posted @   E-iceblue  阅读(3369)  评论(0编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
历史上的今天:
2016-02-24 C#将一个excel工作表根据指定范围拆分为多个excel文件
点击右上角即可分享
微信分享提示