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
- Ler dados de um arquivo do Excel
- Ler uma planilha em uma pasta de trabalho do Excel
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.
- Carregue o arquivo Excel usando a classe Workbook.
- Crie um objeto da classe WorksheetCollection e obtenha a referência das planilhas usando o método Workbook.getWorksheets().
- Inicie um loop para percorrer todas as planilhas da coleção e em cada iteração, execute as seguintes etapas:
- Obtenha a referência da planilha em um objeto Worksheet.
- Obtenha a contagem de linhas e colunas de dados na planilha.
- Inicie um loop para linhas.
- Inicie um loop aninhado para colunas.
- Leia os dados de cada célula usando o método Worksheet.getCells().get(rowIndex, columnIndex).getValue().
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.
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.
- Carregue o arquivo Excel usando a classe Workbook.
- Obtenha a referência da planilha desejada em um objeto Worksheet usando o método Workbook.getWorksheets().get(index).
- Obtenha a contagem de linhas e colunas de dados na planilha.
- Inicie um loop para linhas.
- Inicie um loop aninhado para colunas.
- Leia os dados de cada célula usando o método Worksheet.getCells().get(rowIndex, columnIndex).getValue().
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.