Java: crie, leia ou atualize documentos Excel

2023-12-06 03:14:56

Instalar com Maven

<dependency>
    <groupId>e-iceblue</groupId>
        <artifactId>spire.xls</artifactId>
    <version>14.1.3</version>
</dependency>
    

Links Relacionados

A planilha do Excel é um formato de arquivo popular que permite aos usuários organizar, analisar e exibir dados em tabelas. A capacidade de interagir programaticamente com arquivos do Excel é valiosa para automatizar e integrar seus recursos ao software. Isso é especialmente benéfico ao lidar com conjuntos de dados extensos, cálculos complexos ou geração/atualização dinâmica de dados. Neste artigo você aprenderá como crie, leia ou atualize documentos Excel em Java usando Spire.XLS for Java.

Instale Spire.XLS for Java

Primeiro, é necessário adicionar o arquivo Spire.Xls.jar como uma dependência em seu programa Java. O arquivo JAR pode ser baixado neste link. Se você usa Maven, pode importar facilmente o arquivo JAR em seu aplicativo adicionando o código a seguir 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</artifactId>
        <version>14.11.0</version>
    </dependency>
</dependencies>
    

Crie um documento Excel em Java

Spire.XLS for Java oferece uma variedade de classes e interfaces que você pode usar para criar e editar documentos Excel. Aqui está uma lista de classes, propriedades e métodos importantes envolvidos neste artigo.

Membro Descrição
Aula de apostila Representa um modelo de pasta de trabalho do Excel.
Método Workbook.getWorksheets().add() Adiciona uma planilha à pasta de trabalho.
Método Workbook.saveToFile() Salva a pasta de trabalho em um documento Excel.
Aula de planilha Representa uma planilha em uma pasta de trabalho.
Método Worksheet.getRange() Obtém uma célula ou intervalo de células específico da planilha.
Método Worksheet.insertArray() Importa dados de uma matriz para uma planilha.
Classe CellRange Representa uma célula ou intervalo de células na planilha.
Método CellRange.setValue() Define o valor de uma célula.
Método CellRange.getValue() Obtém o valor de uma célula.

A seguir estão as etapas para criar um documento Excel do zero usando Spire.XLS for Java.

  • Crie um objeto Pasta de trabalho.
  • Adicione uma planilha usando o método Workbook.getWorksheets().add().
  • Grave dados em uma célula específica usando o método Worksheet.getRange.setValue().
  • Importe dados de um array para a planilha usando o método Worksheet.insertArray().
  • Salve a pasta de trabalho em um documento Excel usando o método Workbook.saveToFile().
  • Java
import com.spire.xls.*;
    
    public class CreateSpreadsheet {
    
        public static void main(String[] args) {
    
            //Create a Workbook object
            Workbook wb = new Workbook();
    
            //Remove default worksheets
            wb.getWorksheets().clear();
    
            //Add a worksheet and name it "Employee"
            Worksheet sheet = wb.getWorksheets().add("Employee");
    
            //Merge the cells between A1 and G1
            sheet.getRange().get("A1:G1").merge();
    
            //Write data to A1 and apply formatting to it
            sheet.getRange().get("A1").setValue("Basic Information of Employees of Huanyu Automobile Company");
            sheet.getRange().get("A1").setHorizontalAlignment(HorizontalAlignType.Center);
            sheet.getRange().get("A1").setVerticalAlignment(VerticalAlignType.Center);
            sheet.getRange().get("A1").getStyle().getFont().isBold(true);
            sheet.getRange().get("A1").getStyle().getFont().setSize(13);
    
            //Set row height of the first row
            sheet.setRowHeight(1,30);
    
            //Create a two-dimensional array
            String[][] twoDimensionalArray = new String[][]{
                    {"Name", "Gender", "Birth Date", "Educational Background", "Contact Number", "Position", "ID"},
                    {"Allen", "Male", "1990-02-10", "Bachelor", "24756854", "Mechanic", "0021"},
                    {"Patrick", "Male", "1985-06-08", "Master", "59863247", "Mechanic", "0022"},
                    {"Jenna", "Female", "1989-11-25", "Bachelor", "79540352", "Sales", "0023"},
                    {"Tommy", "Male", "1988-04-16", "Master", "52014060", "Mechanic", "0024"},
                    {"Christina", "Female", "1998-01-21", "Bachelor", "35401489", "HR", "0025"}
            };
    
            //Import data from DataTable to worksheet
            sheet.insertArray(twoDimensionalArray,2,1);
    
            //Set row height of a range
            sheet.getRange().get("A2:G7").setRowHeight(15);
    
            //Set column width
            sheet.setColumnWidth(2,15);
            sheet.setColumnWidth(3,21);
            sheet.setColumnWidth(4,15);
    
            //Set border style of a range
            sheet.getRange().get("A2:G7").borderAround(LineStyleType.Medium);
            sheet.getRange().get("A2:G7").borderInside(LineStyleType.Thin);
            sheet.getRange().get("A2:G2").borderAround(LineStyleType.Medium);
            sheet.getRange().get("A2:G7").getBorders().setKnownColor(ExcelColors.Black);
    
            //Save to a .xlsx file
            wb.saveToFile("output/NewSpreadsheet.xlsx", FileFormat.Version2016);
        }
    }

Java: Create, Read, or Update Excel Documents

Ler dados de uma planilha em Java

O método CellRange.getValue() retorna o valor numérico ou o valor do texto de uma célula como uma string. Para obter dados de uma planilha inteira ou de um intervalo de células, percorra as células dentro dela. A seguir estão as etapas para obter dados de uma planilha usando Spire.XLS for Java.

  • Crie um objeto Pasta de trabalho.
  • Carregue um documento Excel usando o método Workbook.loadFromFile().
  • Obtenha uma planilha específica usando o método Workbook.getWorksheets().get(index).
  • Obtenha o intervalo de células contendo dados usando o método Worksheet.getAllocatedRange().
  • Itere pelas linhas e colunas para obter células dentro do intervalo e retorne o valor de cada célula usando o método CellRange.getValue().
  • Java
import com.spire.xls.CellRange;
    import com.spire.xls.Workbook;
    import com.spire.xls.Worksheet;
    
    public class ReadData {
    
        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/NewSpreadsheet.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 data of a specific cell
                    System.out.print(locatedRange.get(i + 1, j + 1).getValue() + "  ");
                }
                System.out.println();
            }
        }
    }

Java: Create, Read, or Update Excel Documents

Atualizar um documento Excel em Java

Para alterar o valor de uma determinada célula, basta reatribuir um valor a ela usando o método Worksheet.getRange().setValue(). A seguir estão as etapas detalhadas.

  • Crie um objeto Pasta de trabalho.
  • Carregue um documento Excel usando o método Workbook.LoadFromFile().
  • Obtenha uma planilha específica por meio da propriedade Workbook.Worksheets[index].
  • Altere o valor de uma célula específica por meio da propriedade Worksheet.Range.Value.
  • Salve a pasta de trabalho em um arquivo Excel usando o método Workbook.SaveToFile().
  • Java
import com.spire.xls.ExcelVersion;
    import com.spire.xls.Workbook;
    import com.spire.xls.Worksheet;
    
    public class UpdateExcel {
    
        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/NewSpreadsheet.xlsx");
    
            //Get the first worksheet
            Worksheet sheet = wb.getWorksheets().get(0);
    
            //Change the value of a specific cell
            sheet.getRange().get("A1").setValue("Updated Value");
    
            //Save to file
            wb.saveToFile("output/Updated.xlsx", ExcelVersion.Version2016);
        }
    }

Java: Create, Read, or Update Excel Documents

Solicite uma licença temporária

Se desejar remover a mensagem de avaliação dos documentos gerados ou se livrar das limitações de função, por favor solicite uma licença de teste de 30 dias para você mesmo.

Veja também