Í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.