如何通过Java程序在Excel中插入和提取图片

在编辑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()方法将图片添加到工作表的指定位置。
  • 利用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"));
    }
}

 


posted @ 2022-12-14 17:24  Gia-  阅读(5119)  评论(0编辑  收藏  举报