Java: gravar dados em planilhas do Excel

2023-12-06 03:01:09

Instalar com Maven

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

Links Relacionados

O Excel tem a capacidade de armazenar e organizar rapidamente grandes quantidades de dados em planilhas ordenadas. Mas é demorado inserir manualmente os dados nas células, um após o outro. Automatizar a criação de arquivos Excel por meio de programação pode nos poupar muito tempo e energia. Este artigo apresenta como gravar dados em planilhas do 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>
    

Escreva valores de texto ou números em células específicas

Uma determinada célula em uma planilha pode ser acessada pelo método Worksheet.get(int row, int column). Em seguida, você pode adicionar um valor de texto ou um valor numérico à célula usando o método IXLSRange.setValue() ou IXLSRange.setNumberValue(). A seguir estão as etapas detalhadas.

  • Crie um objeto Pasta de trabalho.
  • Obtenha a primeira planilha usando o método Workbook.getWorksheets().get().
  • Obtenha uma célula específica usando o método Workhseet.get().
  • Adicione um valor de texto ou um valor numérico à célula usando o método IXLSRange.setValue() ou IXLSRange.setNumberValue().
  • Salve a pasta de trabalho em um arquivo Excel usando o método Workbook.saveToFile().
  • Java
import com.spire.xls.*;
    
    public class WriteToCells {
    
        public static void main(String[] args) {
    
            //Create a Workbook object
            Workbook workbook = new Workbook();
    
            //Get the first worksheet
            Worksheet worksheet = workbook.getWorksheets().get(0);
    
            //Write data to specific cells
            worksheet.get(1,1).setValue("Name");
            worksheet.get(1,2).setValue("Age");
            worksheet.get(1,3).setValue("Department");
            worksheet.get(1,4).setValue("Hiredate");
            worksheet.get(2,1).setValue("Hazel");
            worksheet.get(2,2).setNumberValue(29);
            worksheet.get(2,3).setValue("Marketing");
            worksheet.get(2,4).setValue("2019-07-01");
            worksheet.get(3,1).setValue("Tina");
            worksheet.get(3,2).setNumberValue(31);
            worksheet.get(3,3).setValue("Technical Support");
            worksheet.get(3,4).setValue("2015-04-27");
    
            //Auto fit column widths
            worksheet.getAllocatedRange().autoFitColumns();
    
            //Apply a style to the first row
            CellStyle style = workbook.getStyles().addStyle("newStyle");
            style.getFont().isBold(true);
            worksheet.getRange().get(1,1,1,4).setStyle(style);
    
            //Save to an Excel file
            workbook.saveToFile("output/WriteToCells.xlsx", ExcelVersion.Version2016);
        }
    }

Java: Write Data to Excel Worksheets

Escreva matrizes em uma planilha

Spire.XLS for Java fornece o método Worksheet.insertArrary(), permitindo aos programadores escrever um array unidimensional ou bidimensional no intervalo de células especificado de uma planilha. As etapas para gravar matrizes em uma planilha são as seguintes:

  • Crie um objeto Pasta de trabalho.
  • Obtenha a primeira planilha usando o método Workbook.getWorksheets().get().
  • Crie uma matriz unidimensional e uma matriz bidimensional.
  • Insira os arrays na planilha usando o método Worksheet.insertArray().
  • Salve a pasta de trabalho em um arquivo Excel usando o método Workbook.saveToFile().
  • Java
import com.spire.xls.*;
    
    public class WriteArrayToWorksheet {
    
        public static void main(String[] args) {
    
            //Create a Workbook instance
            Workbook workbook = new Workbook();
    
            //Get the first worksheet
            Worksheet worksheet = workbook.getWorksheets().get(0);
    
            //Create a one-dimensional array
            String[] oneDimensionalArray = new String[]{"January", "February", "March", "April","May", "June"};
    
            //Write the array to the first row of the worksheet
            worksheet.insertArray(oneDimensionalArray, 1, 1, false);
    
            //Create a two-dimensional array
            String[][] twoDimensionalArray = new String[][]{
                    {"Name", "Age", "Sex", "Dept.", "Tel."},
                    {"John", "25", "Male", "Development","654214"},
                    {"Albert", "24", "Male", "Support","624847"},
                    {"Amy", "26", "Female", "Sales","624758"}
            };
    
            //Write the array to the worksheet starting from the cell A3
            worksheet.insertArray(twoDimensionalArray, 3, 1);
    
            //Auto fit column width in the located range
            worksheet.getAllocatedRange().autoFitColumns();
    
            //Apply a style to the first and the third row
            CellStyle style = workbook.getStyles().addStyle("newStyle");
            style.getFont().isBold(true);
            worksheet.getRange().get(1,1,1,6).setStyle(style);
            worksheet.getRange().get(3,1,3,6).setStyle(style);
    
            //Save to an Excel file
            workbook.saveToFile("output/WriteArrays.xlsx", ExcelVersion.Version2016);
        }
    }

Java: Write Data to Excel Worksheets

Escreva um DataTable em uma planilha

Para importar dados de um DataTable para uma planilha, use o método Worksheet.insertDataTable(). A seguir estão as etapas detalhadas.

  • Crie um objeto Pasta de trabalho.
  • Obtenha a primeira planilha usando o método Workbook.getWorksheets().get().
  • Crie um DataTable e grave-o na planilha no local especificado usando o método Worksheet.insertDataTable().
  • Salve a pasta de trabalho em um arquivo Excel usando o método Workbook.saveToFile().
  • Java
import com.spire.data.table.DataRow;
    import com.spire.data.table.DataTable;
    import com.spire.xls.*;
    
    public class WriteDataTableToWorksheet {
    
        public static void main(String[] args) throws Exception {
    
            //Create a Workbook instance
            Workbook workbook = new Workbook();
    
            //Get the first worksheet
            Worksheet worksheet = workbook.getWorksheets().get(0);
    
            //Create a DataTable object
            DataTable dataTable = new DataTable();
            dataTable.getColumns().add("SKU", Integer.class);
            dataTable.getColumns().add("NAME", String.class);
            dataTable.getColumns().add("PRICE", String.class);
    
            //Create rows and add data
            DataRow dr = dataTable.newRow();
            dr.setInt(0, 512900512);
            dr.setString(1,"Wireless Mouse M200");
            dr.setString(2,"$85");
            dataTable.getRows().add(dr);
            dr = dataTable.newRow();
            dr.setInt(0,512900637);
            dr.setString(1,"B100 Cored Mouse ");
            dr.setString(2,"$99");
            dataTable.getRows().add(dr);
            dr = dataTable.newRow();
            dr.setInt(0,512901829);
            dr.setString(1,"Gaming Mouse");
            dr.setString(2,"$125");
            dataTable.getRows().add(dr);
            dr = dataTable.newRow();
            dr.setInt(0,512900386);
            dr.setString(1,"ZM Optical Mouse");
            dr.setString(2,"$89");
            dataTable.getRows().add(dr);
    
            //Write datatable to the worksheet
            worksheet.insertDataTable(dataTable,true,1,1,true);
    
            //Auto fit column width in the located range
            worksheet.getAllocatedRange().autoFitColumns();
    
            //Apply a style to the first row
            CellStyle style = workbook.getStyles().addStyle("newStyle");
            style.getFont().isBold(true);
            worksheet.getRange().get(1,1,1,3).setStyle(style);
    
            //Save to an Excel file
            workbook.saveToFile("output/WriteDataTable.xlsx", ExcelVersion.Version2016);
        }
    }

Java: Write Data to Excel Worksheets

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