Solução gratuita: leia arquivos Excel em Java

2024-01-25 06:48:18

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.

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.

  1. Crie um objeto Pasta de trabalho.
  2. Carregue um arquivo Excel no objeto Workbook.
  3. Obtenha uma planilha específica do objeto Workbook.
  4. Obtenha um intervalo de células específico (neste caso, célula C6) da planilha.
  5. 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);
        }
    }

Free Solution: Read Excel Files in Java

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.

  1. Crie um objeto Pasta de trabalho.
  2. Carregue um arquivo Excel no objeto Workbook.
  3. Obtenha uma planilha específica do objeto Workbook.
  4. Obtenha um intervalo de células (neste caso, A3:F6) da planilha.
  5. Itere pelas células do intervalo usando loops aninhados.
  6. Dentro de cada iteração, obtenha uma célula específica dentro do intervalo.
  7. Recupere o valor da célula usando o método getValue().
  8. 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();
            }
        }
    }

Free Solution: Read Excel Files in Java

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.

  1. Crie um objeto Pasta de Trabalho.
  2. Carregue um arquivo Excel existente no objeto Workbook.
  3. Obtenha a primeira planilha do objeto Workbook.
  4. Use o método getAllocatedRange() na planilha para recuperar o intervalo de células que contém dados.
  5. Itere cada linha no intervalo localizado usando um loop for.
  6. Dentro de cada iteração de linha, itere cada coluna no intervalo localizado usando outro loop for.
  7. Obtenha uma célula específica dentro do intervalo localizado usando o método get(), passando os índices de linha e coluna.
  8. Recupere o valor da célula usando o método getValue().
  9. 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();
            }
        }
    }

Free Solution: Read Excel Files in Java

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.

  1. Crie um objeto Pasta de trabalho.
  2. Carregue um arquivo Excel no objeto Workbook.
  3. Obtenha uma planilha específica do objeto Workbook.
  4. Obtenha uma célula específica (D4 neste caso) da planilha.
  5. Verifique se a célula possui uma fórmula usando o método hasFormula().
  6. 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);
            }
        }
    }

Free Solution: Read Excel Files in Java

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.

  1. Crie um objeto Pasta de trabalho.
  2. Carregue um arquivo Excel no objeto Workbook.
  3. Obtenha uma planilha específica do objeto Workbook.
  4. Obtenha uma célula específica (D4 neste caso) da planilha.
  5. Verifique se a célula possui uma fórmula usando o método hasFormula().
  6. 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);
            }
        }
    }

Free Solution: Read Excel Files in Java

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.

Veja também