首页 > 编程语言 >Java: 在Excel中插入和提取图片

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

时间:2022-12-14 18:03:48浏览次数:78  
标签:Java spire Excel 插入 com Workbook import xls

在编辑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);
}
}

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

在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"));
}
}
}

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

标签:Java,spire,Excel,插入,com,Workbook,import,xls
From: https://blog.51cto.com/u_15711850/5937968

相关文章

  • 如何在vba中用ADOX.Catalog获取excel文件的工作表名称?
    SubQQ1722187970()DimsFNAsStringsFN=Excel.Application.GetOpenFilename()IfLen(sFN)ThenDimarrName()DimobjCatalog......
  • Java继承构造方法的注意点
    父类:注意(x,y是private,不能继承到子类中)classPar{privateintx;privateinty;inta;publicPar(){}publicPar(intx,inty){t......
  • JAVA中子类继承时构造方法注意事项
    JAVA中子类继承时构造方法注意事项类的继承不容易理解的一种情况:父类只存在有参构造,子类的构造方法必需要做相应的处理,比如说也创建有参构造,为什么?1、任何类,如果无显......
  • JAVA多态(超详细讲解)
    JAVA多态(超详细讲解)坠水于 2021-10-2914:29:56 发布31330收藏144版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。......
  • Java 继承解决了编程中的什么问题
    Java继承解决了编程中的什么问题?Java继承产生的背景?继承产生的原因:在一个项目中多个类具有很多相同的代码段,代码多了不仅仅容易出错,在需要系统升级的时候各个相同的代......
  • 狂神说 javaweb
    javaweb1、基本概念web开发:web静态web动态web淘宝,不断变化技术栈:Servlet/JSPASPPHP1.2、web应用程序web应用程序:可以提供浏览器访问的程序能访问的任何页面都存在于世......
  • Java: 在Excel中插入和提取图片
    在编辑Excel文档时,为了丰富文档内容或者更好地说明文档内容,有时我们会在单元格中插入图片。此外,整理文档内容时,也可以通过编程的方式将图片从Excel中提取出来。接下来我就......
  • JavaScript内存中的一些形状的读书笔记
    原文地址:http://zoo.zhengcaiyun.cn/blog/article/code-shapeundefined和null不同的原因undefined是栈空间中表示未定义含义的一块特殊的固定的内存区域null是堆内存......
  • Javascript学习
    目录js引入的三种方式js基础语法数组遍历的方法es6中的箭头函数js使用的中的注意点js变量声明的三种方式js引入的三种方式<!DOCTYPEhtml><html> <head> <metachars......
  • 【Java】Java 中实现深拷贝
    浅拷贝和深拷贝浅拷贝:只复制一层,如果对象的属性是引用数据类型,只会复制属性内存地址。深拷贝:不只复制一层,如果对象属性是引用数据类型,会继续向下进行复制。深拷贝的实......