Índice
Instalar com Maven
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls.free</artifactId>
<version>5.1.0</version>
</dependency>
Links Relacionados
A capacidade de ler dados de arquivos Excel pode ser útil em vários setores e cenários onde dados estruturados precisam ser acessados e utilizados. Ao ler dados do Excel, você pode extrair informações, realizar cálculos e analisar os dados usando linguagens de programação ou ferramentas especializadas. Esse processo permite a manipulação eficiente de dados e facilita tarefas como geração de relatórios, realização de análises estatísticas e automatização de fluxos de trabalho.
Neste artigo, vamos apresentar como leia arquivos Excel em Java usando E-iceblue's Biblioteca Java Excel gratuita. Os seguintes subtópicos estão incluídos.
- Leia o valor de uma célula em Java
- Ler dados de um intervalo de células em Java
- Leia os dados de uma planilha inteira em Java
- Leia a fórmula em uma célula em Java
- Leia o resultado da fórmula em uma célula em Java
Biblioteca Java gratuita para leitura do Excel
Spire.XLS for Java gratuito, fornecido pela E-iceblue Inc., é uma biblioteca Java pequena, mas poderosa, que permite aos desenvolvedores criar, ler e modificar facilmente arquivos Excel XLS e XLSX. Embora seja uma edição comunitária da biblioteca comercial Spire.XLS for Java, oferece quase todos os recursos de manipulação do Excel, excluindo conversão de formato de arquivo. Os usuários podem usá-lo para criar facilmente um documento Excel do zero ou realizar operações em documentos existentes, como recuperar dados de uma planilha.
Para instalar a biblioteca do repositório Maven, basta adicionar a seguinte configuração ao arquivo pom.xml do seu projeto.
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls.free</artifactId>
<version>5.1.0</version>
</dependency>
</dependencies>
Alternativamente, você pode baixe Free Spire.XLS for Java e importe manualmente o arquivo jar como dependência em seu aplicativo Java.
Leia o valor de uma célula em Java
No Free Spire.XLS, a classe CellRange representa uma célula ou intervalo, e o método getValue() na classe recupera o valor de uma célula específica, que pode ser um texto, um número ou uma fórmula. Siga as etapas a seguir para ler o valor de uma célula em Java.
- Crie um objeto Pasta de trabalho.
- Carregue um arquivo Excel no objeto Workbook.
- Obtenha uma planilha específica do objeto Workbook.
- Obtenha um intervalo de células específico (neste caso, célula C6) da planilha.
- Recupere o valor da célula usando o método getValue().
- Java
import com.spire.xls.CellRange;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class ReadCellValue {
public static void main(String[] args) {
// Create a Workbook object
Workbook wb = new Workbook();
// Load an Excel file
wb.loadFromFile("C:\\Users\\Administrator\\Desktop\\Score Sheet.xlsx");
//Get a specific worksheet
Worksheet sheet = wb.getWorksheets().get(0);
// Get a specific cell
CellRange certainCell = sheet.getCellRange("C6");
// Get the value of the cell
String cellValue = certainCell.getValue();
// Print out result
System.out.println("C6 has the value: " + cellValue);
}
}

Ler dados de um intervalo de células em Java
Agora que aprendemos como obter o valor de uma célula específica, é fácil extrair dados de uma região de célula percorrendo as células uma por uma. As etapas para ler dados de um intervalo de células específico são as seguintes.
- Crie um objeto Pasta de trabalho.
- Carregue um arquivo Excel no objeto Workbook.
- Obtenha uma planilha específica do objeto Workbook.
- Obtenha um intervalo de células (neste caso, A3:F6) da planilha.
- Itere pelas células do intervalo usando loops aninhados.
- Dentro de cada iteração, obtenha uma célula específica dentro do intervalo.
- Recupere o valor da célula usando o método getValue().
- Repita o processo para todas as células do intervalo.
- Java
import com.spire.xls.CellRange;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class ReadCellRange {
public static void main(String[] args) {
// Create a Workbook object
Workbook wb = new Workbook();
// Load an Excel file
wb.loadFromFile("C:\\Users\\Administrator\\Desktop\\Score Sheet.xlsx");
//Get a specific worksheet
Worksheet sheet = wb.getWorksheets().get(0);
// Get a cell range
CellRange cellRange = sheet.getCellRange("A3:F6");
// Iterate through the cells in the range
for (int i = 0; i < cellRange.getRowCount(); i++) {
for (int j = 0; j < cellRange.getColumnCount(); j++) {
// Get a specific cell
CellRange certainCell = cellRange.get(3 + i, 1 + j);
// Get the value of the cell
String cellValue = certainCell.getValue();
// Print out result
System.out.print(cellValue + " ");
}
System.out.println();
}
}
}

Leia os dados de uma planilha inteira em Java
Para identificar o intervalo de células que contém dados, utilize o método Worksheet.getAllocatedRange(), que gera um objeto CellRange. Ao iterar pelas células dentro do intervalo, você pode acessar cada célula e seu valor correspondente. Aqui estão as etapas para ler os dados de uma planilha inteira em Java.
- Crie um objeto Pasta de Trabalho.
- Carregue um arquivo Excel existente no objeto Workbook.
- Obtenha a primeira planilha do objeto Workbook.
- Use o método getAllocatedRange() na planilha para recuperar o intervalo de células que contém dados.
- Itere cada linha no intervalo localizado usando um loop for.
- Dentro de cada iteração de linha, itere cada coluna no intervalo localizado usando outro loop for.
- Obtenha uma célula específica dentro do intervalo localizado usando o método get(), passando os índices de linha e coluna.
- Recupere o valor da célula usando o método getValue().
- Repita o processo para todas as células do intervalo.
- Java
import com.spire.xls.CellRange;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class ReadWorksheet {
public static void main(String[] args) {
//Create a Workbook object
Workbook wb = new Workbook();
//Load an existing Excel file
wb.loadFromFile("C:\\Users\\Administrator\\Desktop\\Score Sheet.xlsx");
//Get the first worksheet
Worksheet sheet = wb.getWorksheets().get(0);
//Get the cell range containing data
CellRange locatedRange = sheet.getAllocatedRange();
//Iterate through the rows
for (int i = 0; i < locatedRange.getRows().length; i++) {
//Iterate through the columns
for (int j = 0; j < locatedRange.getColumnCount(); j++) {
// Get a specific cell
CellRange certainCell = locatedRange.get(i + 1, j + 1);
// Get the value of the cell
String cellValue = certainCell.getValue();
// Print out result
System.out.print(cellValue + " ");
}
System.out.println();
}
}
}

Leia a fórmula em uma célula em Java
Se uma célula contém uma fórmula, você pode obter a fórmula usando o método getValue() ou o método getFormula(). Aqui estão as etapas para ler a fórmula de uma célula em Java.
- Crie um objeto Pasta de trabalho.
- Carregue um arquivo Excel no objeto Workbook.
- Obtenha uma planilha específica do objeto Workbook.
- Obtenha uma célula específica (D4 neste caso) da planilha.
- Verifique se a célula possui uma fórmula usando o método hasFormula().
- Se a célula tiver uma fórmula, recupere a fórmula usando o método getFormula().
- Java
import com.spire.xls.CellRange;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class ReadFormula {
public static void main(String[] args) {
// Create a Workbook object
Workbook wb = new Workbook();
// Load an Excel file
wb.loadFromFile("C:\\Users\\Administrator\\Desktop\\Formula.xlsx");
//Get a specific worksheet
Worksheet sheet = wb.getWorksheets().get(0);
// Get a specific cell
CellRange certainCell = sheet.getCellRange("D4");
// Determine if the cell has formula or not
if (certainCell.hasFormula()){
// Get the formula of the cell
String formula = certainCell.getFormula();
// Print out result
System.out.println("D4 has a formula: " + formula);
}
}
}

Leia o resultado da fórmula em uma célula em Java
Em muitos casos, os usuários estão interessados principalmente nos resultados produzidos pelas fórmulas, e não nas próprias fórmulas. Para obter o resultado de uma fórmula, use o método getFormulaValue(). A seguir estão as etapas para ler o resultado da fórmula em uma célula em Java.
- Crie um objeto Pasta de trabalho.
- Carregue um arquivo Excel no objeto Workbook.
- Obtenha uma planilha específica do objeto Workbook.
- Obtenha uma célula específica (D4 neste caso) da planilha.
- Verifique se a célula possui uma fórmula usando o método hasFormula().
- Se a célula tiver uma fórmula, recupere o resultado da fórmula usando o método getFormulaValue() e converta o resultado em uma representação de string usando o método toString().
- Java
import com.spire.xls.CellRange;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class ReadFormulaResult {
public static void main(String[] args) {
// Create a Workbook object
Workbook wb = new Workbook();
// Load an Excel file
wb.loadFromFile("C:\\Users\\Administrator\\Desktop\\Formula.xlsx");
//Get a specific worksheet
Worksheet sheet = wb.getWorksheets().get(0);
// Get a specific cell
CellRange certainCell = sheet.getCellRange("D4");
// Determine if the cell has formula or not
if (certainCell.hasFormula()){
// Get the result of formula
String formulaResult = certainCell.getFormulaValue().toString();
// Print out result
System.out.println("D4 has a formula and its result is: " + formulaResult);
}
}
}

Conclusão
Nesta postagem do blog, explicamos o processo de recuperação de dados (texto e números) de uma célula específica, um intervalo de células designado ou uma planilha inteira do Excel usando Free Spire.XLS for Java. Além disso, discutimos como determinar se uma célula contém uma fórmula e exploramos métodos para extrair a própria fórmula e seu valor resultante. Como uma biblioteca profissional do Excel, o Free Spire.XLS for Java suporta o extração de imagens e objetos OLE também de documentos Excel.
Para mais tutoriais, confira nosso Guia de programação Excel. Se você tiver alguma dúvida, não hesite em nos contatar através do fórum Spire.XLS.