As imagens fazem você entender qualquer história da maneira mais fácil. É um ditado famoso que uma foto vale mais que mil palavras. O Microsoft Excel permite inserir imagens em suas planilhas em células e gravar fatos contra elas. Neste artigo, mostraremos como usar a API APIA POI para inserir uma imagem no Excel XLSX File usando Java.

apache poi

O Apache POI é uma biblioteca Java para trabalhar com formatos de arquivos do Microsoft Office, como XLS, XLSX, DOC, DOCX, PPT, PPTX, etc. Java Application Developers pode usá -lo para processamento de documentos sem entrar nos detalhes subjacentes da estrutura interna do arquivo da esses arquivos.

Instalando Apache Poi API

Antes de começarmos a escrever código para trabalhar com documentos do Excel em nosso aplicativo Java, precisamos instalar o Apache Poi em nosso sistema. Para esse fim, devemos ter as dependências do POI disponíveis em nossa configuração do projeto. As seguintes dependências são necessárias para desenvolver o aplicativo 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>

Você pode encontrar mais informações sobre instalar a API POI para trabalhar com arquivos do Excel. Uma vez adicionado ao seu projeto, o arquivo pom.xml parece a seguir.

Como inserir a imagem na célula do Excel usando Java?

Você pode usar a Biblioteca Apache Poi para abrir uma pasta de trabalho do Excel em Java e inserir imagens em uma célula do Excel usando as etapas a seguir.

Etapas para adicionar uma imagem no XLSX usando java poi

  1. Crie uma instância da classe XSSFWorkbook
  2. Crie uma linha e adicione células na linha
  3. Carregue a imagem como um objeto InputStream
  4. Converta o fluxo de entrada em uma matriz de bytes
  5. Adicione a imagem à pasta de trabalho da matriz de bytes usando o método addPicture da instância da pasta de trabalho

Adicione a imagem no Excel usando o exemplo java poi

Vejamos o código de amostra completo para adicionar uma imagem em uma célula do Excel usando a biblioteca Java POI.

//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());
}

Conclusão

Neste artigo, mostramos como adicionar uma imagem a uma pasta de trabalho do Excel XSLX usando a Biblioteca Apache Poi para Java. Adicionaremos mais exemplos de Apache POI para trabalhar com arquivos do Excel usando a APACH POI API. Então fique ligado.