图像使您以简单的方式理解任何故事。这是一个著名的说法,一张照片值一千字。 Microsoft Excel可让您在单元格中插入工作表中的图片,并针对这些录制事实。在本文中,我们将展示如何使用Apache POI API使用Java在Excel XLSX文件中插入图像。

apache poi

Apache POI是一个用于使用Microsoft Office文件格式的Java库这些文件。

安装apache poi api

在我们可以在Java应用程序中使用Excel文档的代码开始之前,我们需要在系统上安装Apache POI。为此,我们应该在项目设置中提供POI依赖性。开发Apache POI应用程序需要以下依赖关系。

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.0.1</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.0.1</version>
</dependency>

您可以找到有关安装POI API用于使用Excel文件的更多信息。添加到项目中后, pom.xml 文件看起来如下。

如何使用Java将图像插入Excel单元格?

您可以使用Apache POI库来在Java中打开Excel Workbook,并使用以下步骤在Excel单元格中插入图像。

使用Java POI {.wp-block-poi}在XLSX中添加图像的步骤

1.创建XSSFWorkbook类的实例 2.创建一行并在行中添加单元格 3.将图像作为输入流对象加载 4.将输入流转换为字节数组 5.使用 AddPicture 工作簿实例的方法将图片添加到工作簿中

使用Java Poi示例{.wp-block-heading}中添加图像

让我们看完整的示例代码,使用Java POI库在Excel单元格中添加图像。

//create a new workbook
XSSFWorkbook wb = new XSSFWorkbook(); //or new HSSFWorkbook();
//add picture data to this workbook.
FileInputStream is = new FileInputStream("FileFormat.png");
byte[] bytes = IOUtils.toByteArray(is);
int pictureIdx = wb.addPicture(bytes, Workbook.PICTURE_TYPE_PNG);
is.close();
XSSFCreationHelper helper = wb.getCreationHelper();
//create sheet
XSSFSheet sheet = wb.createSheet();
// Create the drawing patriarch.  This is the top level container for all shapes.
Drawing drawing = sheet.createDrawingPatriarch();
//add a picture shape
XSSFClientAnchor anchor = helper.createClientAnchor();
//set top-left corner of the picture,
//subsequent call of Picture#resize() will operate relative to it
anchor.setCol1(3);
anchor.setRow1(2);
Picture pict = drawing.createPicture(anchor, pictureIdx);
//auto-size picture relative to its top-left corner
pict.resize();
//save workbook
String file = "picture.xls";
if(wb instanceof XSSFWorkbook) file += "x";
try (FileOutputStream fileOut = new FileOutputStream(file)) {
    wb.write(fileOut);
    wb.close();
}
catch(Exception ex)
{
	System.out.println(ex.getMessage());
}

结论

在本文中,我们展示了如何使用Java的Apache POI库将图像添加到Excel XSLX工作簿中。我们将添加更多的Apache POI示例,用于使用Apache POI API使用Excel文件。所以请继续关注。