Ler dados em arquivos do Excel usando Java

Os arquivos do MS Excel são amplamente usados para manter dados tabulares na forma de planilhas. Muitas vezes, os enormes conjuntos de dados também são mantidos em arquivos do Excel. Portanto, você pode se deparar com o cenário em que precisa ler e buscar dados das planilhas em um arquivo do Excel. Para conseguir isso, este artigo mostra como ler um arquivo do Excel em Java. Vamos demonstrar como ler programaticamente todo o arquivo do Excel ou apenas uma única planilha.

Biblioteca Java para ler arquivos do Excel

Para ler os dados das planilhas, usaremos Aspose.Cells for Java. É uma API de manipulação de planilhas para criar arquivos do Excel do zero. Além disso, permite ler e manipular arquivos Excel existentes com bastante facilidade. A API pode ser baixada da seção de downloads ou instalada adicionando as seguintes configurações do Maven em pom.xml.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>21.11</version>
</dependency>

Ler um arquivo do Excel em Java

Nos arquivos Excel, os dados são armazenados em células onde cada célula é identificada pelo seu nome (A1, B3, etc.) ou pelo índice de linha e coluna. Essas células formam coletivamente uma planilha e um arquivo do Excel é composto por uma ou várias planilhas. Todas as planilhas estão contidas em uma pasta de trabalho. Portanto, esta foi uma breve visão geral da estrutura de um arquivo Excel. Vamos agora continuar a ler os dados de um arquivo do Excel.

A seguir estão as etapas para ler um arquivo do Excel e imprimir seus dados usando Java.

O exemplo de código a seguir mostra como ler um arquivo do Excel em Java.

// Carregar arquivo Excel
Workbook wb = new Workbook("workbook.xlsx");

// Obter todas as planilhas
WorksheetCollection collection = wb.getWorksheets();

// Percorra todas as planilhas
for (int worksheetIndex = 0; worksheetIndex < collection.getCount(); worksheetIndex++) {

  // Obter planilha usando seu índice
  Worksheet worksheet = collection.get(worksheetIndex);

  // Imprimir nome da planilha
  System.out.print("Worksheet: " + worksheet.getName());

  // Obter número de linhas e colunas
  int rows = worksheet.getCells().getMaxDataRow();
  int cols = worksheet.getCells().getMaxDataColumn();

  // Percorrer as linhas
  for (int i = 0; i < rows; i++) {

    // Percorrer cada coluna na linha selecionada
    for (int j = 0; j < cols; j++) {
        // Valor da célula de Pring
	System.out.print(worksheet.getCells().get(i, j).getValue() + " | ");
    }
    // Imprimir quebra de linha
    System.out.println(" ");
  }
}

A seguir está a saída que obtemos no console depois de executar o exemplo de código acima.

Lendo dados nas planilhas do arquivo Excel em Java

Lendo um arquivo do Excel em Java

Leia uma planilha específica no Excel em Java

Você também pode ler apenas uma planilha específica no arquivo Excel seguindo as etapas abaixo.

O exemplo de código a seguir mostra como ler dados de uma planilha específica em Java.

// Carregar arquivo Excel
Workbook wb = new Workbook("workbook.xlsx");

// Obter referência da planilha
Worksheet worksheet = wb.getWorksheets().get(0);

// Obter contagem de linhas e colunas
int rows = worksheet.getCells().getMaxDataRow();
int cols = worksheet.getCells().getMaxDataColumn();

// Percorrer as linhas
for (int i = 0; i < rows; i++) {

  // Percorrer cada coluna na linha selecionada
  for (int j = 0; j < cols; j++) {

    // Imprimir valor da célula
    System.out.print(worksheet.getCells().get(i, j).getValue() + " | ");

  }
  // Imprimir quebra de linha
  System.out.println(" ");
}

Obtenha uma licença de API gratuita

Você pode usar o Aspose.Cells para Java sem limitações de avaliação obtendo uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como ler arquivos do Excel dinamicamente em Java. Com a ajuda de exemplos de código, você viu como ler dados de uma planilha específica ou de todas as planilhas de uma pasta de trabalho do Excel. Além disso, você pode explorar outros recursos do Aspose.Cells for Java usando a documentação. Caso você tenha alguma dúvida, sinta-se à vontade para nos informar através do nosso fórum.

Veja também