写点什么

Java: 在 Excel 中插入和提取图片

作者:Geek_249eec
  • 2022-12-14
    四川
  • 本文字数:1684 字

    阅读完需:约 6 分钟

在编辑 Excel 文档时,为了丰富文档内容或者更好地说明文档内容,有时我们会在单元格中插入图片。此外,整理文档内容时,也可以通过编程的方式将图片从 Excel 中提取出来。接下来我就将分享使用Free Spire.XLS for Java在 Excel 中插入和提取图片的具体方法和相关代码。

 

安装 Spire.XLS.Jar

方法一:

如果您使用的是 maven,可以通过添加以下代码到项目的 pom.xml 文件中,将 JAR 文件导入到应用程序中。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls.free</artifactId>
        <version>5.1.0</version>
    </dependency>
</dependencies>
复制代码

 

方法二:

如果您没有使用 maven,则可以此链接下载 Free Spire.XLS for Java,下载完成后,将下载包进行解压;然后在 IDEA 中创建一个新项目,依次点击“文件”(File),“项目结构”(Project Structure),“组件”(Modules),“依赖项”(Dependencies),再点击右方绿色“+”下的第一个选项“JAR 文件或路径”(JARs or Directories),找到之前解压好的文件,并将其中的 lib 文件夹下的 Spire.XLS.jar 文件导入到项目中。

在 Excel 中插入图片

具体操作:

 

  • 创建 Workbook 实例。

  • 通过 Workbook.loadFromFile()方法,加载 Excel 示例文档。

  • 通过 Workbook.getWorksheets().get()方法,获取第一张工作表。

  • 使用Worksheet.getPictures().add()方法将图片添加到工作表的指定位置。Work

  • 利用 Pictures.setWidth()Pictures.setHeight()方法设置图片的宽度和高度。

  • 使用 Workbook.saveToFile()保存文档。

 

相关代码:

import com.spire.xls.ExcelPicture;
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
 
public class InsertImage {
    public static void main(String[] args){
        //创建Workbook实例
        Workbook workbook = new Workbook();
        //加载Excel文档
        workbook.loadFromFile("sample.xlsx");
        //获取第一张工作表
        Worksheet sheet = workbook.getWorksheets().get(0);
//添加图片到工作表的指定位置
        ExcelPicture pic = sheet.getPictures().add(2, 2,"image.jpg");
        //设置图片的宽度和高度
        pic.setWidth(200);
        pic.setHeight(120);
        //保存文档
        workbook.saveToFile("InsertImage.xlsx", ExcelVersion.Version2013);
    }
}
复制代码


在 Excel 中提取图片

具体操作:

 

  • 创建 Workbook 实例。

  • 通过 Workbook.loadFromFile()方法,加载 Excel 示例文档。

  • 通过 Workbook.getWorksheets().get()方法,获取第一张工作表。

  • 使用 Pictures.getPicture()和 ImageIO.write()方法获取工作表中第一张图片并保存到指定路径。

 

相关代码:

import com.spire.xls.ExcelPicture;import com.spire.xls.Workbook;import com.spire.xls.Worksheet;
import javax.imageio.ImageIO;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;
public class ReadImage { public static void main(String[] args) throws IOException { //创建Workbook实例 Workbook workbook = new Workbook(); //加载Excel文档 workbook.loadFromFile("InsertImage.xlsx"); //获取第一张工作表 Worksheet sheet = workbook.getWorksheets().get(0); //获取工作表中第一张图片并保存到指定路径 ExcelPicture pic = sheet.getPictures().get(0); BufferedImage loImage = pic.getPicture(); ImageIO.write(loImage,"jpg",new File("output/ReadImage.jpg")); }}
复制代码



用户头像

Geek_249eec

关注

还未添加个人签名 2022-07-13 加入

还未添加个人简介

评论

发布
暂无评论
Java: 在Excel中插入和提取图片_Java_Geek_249eec_InfoQ写作社区