Criar arquivos do Excel no Linux

Atualmente, as planilhas são amplamente utilizadas para manter e compartilhar uma grande quantidade de dados tabulares. Além disso, você pode realizar várias operações, como aplicar fórmulas, gerar tabelas e gráficos, classificar e filtrar dados e assim por diante. A automação de planilhas trouxe uma revolução em diversos setores. A dinâmica de criação e manipulação das planilhas facilitou bastante o manuseio dos dados. Para realizar a manipulação de planilhas de forma programática, este artigo aborda como criar arquivos Excel XLSX ou XLS do zero no Linux usando Java.

API para criar arquivos do Excel no Linux - Download grátis

Para criar e manipular os arquivos do Excel, usaremos Aspose.Cells for Java. É uma poderosa API de manipulação de planilhas para criar, atualizar ou converter arquivos Excel. Você pode baixar o JAR da API ou instalá-lo em seus aplicativos baseados em Maven usando as seguintes configurações.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>21.9</version>
</dependency>

Criar um arquivo do Excel no Linux

Os arquivos do MS Excel mantêm os dados nas planilhas compostas por várias células. Visto que essas planilhas estão contidas em uma pasta de trabalho. A seguir estão as etapas para criar um arquivo Excel XLSX do zero no Linux.

  • Crie uma instância da classe Workbook.
  • Obtenha a referência da planilha desejada usando o método Workbook.getWorksheets.get().
  • Insira valor na célula desejada da planilha utilizando o identificador da célula, como A1, B3, etc.
  • Salve a pasta de trabalho usando o método Workbook.save().

O exemplo de código a seguir mostra como criar um arquivo Excel XLSX no Linux usando Java.

// Criar uma nova pasta de trabalho
Workbook workbook = new Workbook();

// Adicionar valor na célula
workbook.getWorksheets().get(0).getCells().get("A1").putValue("Hello World!");

// Salvar como arquivo Excel XLSX
workbook.save("Excel.xlsx"); 

A seguir está a saída do exemplo de código acima.

Criar arquivo do Excel no Linux

Editar um arquivo XLSX do Excel no Linux

Você também pode modificar os arquivos existentes do Excel sem problemas. Para isso, basta carregar o arquivo, acessar a planilha desejada e atualizar seu conteúdo. A seguir estão as etapas para editar um arquivo Excel XLSX.

  • Carregue o arquivo Excel usando a classe Workbook.
  • Obtenha referência das planilhas e células usando as classes Worksheet e Cell, respectivamente.
  • Atualize o conteúdo das células.
  • Salve a pasta de trabalho atualizada usando o método Workbook.save().

O exemplo de código a seguir mostra como editar um arquivo do Excel no Linux.

// Criar uma nova pasta de trabalho
Workbook workbook = new Workbook("workbook.xls"); 

// Obter a referência da célula "A1" das células de uma planilha
Cell cell = workbook.getWorksheets().get(0).getCells().get("A1");

// Defina o "Olá Mundo!" valor na célula "A1"
cell.setValue("updated cell value.");

// Escreva o arquivo Excel
workbook.save("Excel.xls", FileFormatType.EXCEL_97_TO_2003);

Criar gráficos em arquivos do Excel no Linux

Gráficos em planilhas são usados para representar visualmente os dados armazenados nas planilhas. Aspose.Cells for Java fornece uma grande variedade de gráficos que você pode gerar dentro dos arquivos do Excel. A seguir estão as etapas para criar um gráfico em um arquivo Excel XLSX na plataforma Linux.

  • Crie um novo arquivo Excel ou carregue um existente usando a classe Workbook.
  • Adicione dados à planilha (opcional).
  • Obtenha a coleção de gráficos da planilha usando o método Worksheet.getCharts().
  • Adicione um novo gráfico à coleção usando o método Worksheet.getCharts().add().
  • Obtenha a referência do Chart recém-criado da coleção.
  • Especifique o intervalo das células para definir NSeries para o gráfico.
  • Por fim, salve o arquivo Excel.

O exemplo de código a seguir mostra como criar um gráfico em um arquivo XLSX do Excel.

// Criar uma nova pasta de trabalho
Workbook workbook = new Workbook("workbook.xlsx"); 

// Obtendo a referência da primeira planilha
WorksheetCollection worksheets = workbook.getWorksheets();
Worksheet sheet = worksheets.get(0);

// Adicionando algum valor de amostra às células
Cells cells = sheet.getCells();
Cell cell = cells.get("A1");
cell.setValue(50);
cell = cells.get("A2");
cell.setValue(100);
cell = cells.get("A3");
cell.setValue(150);
cell = cells.get("B1");
cell.setValue(4);
cell = cells.get("B2");
cell.setValue(20);
cell = cells.get("B3");
cell.setValue(50);

// obter gráficos na planilha
ChartCollection charts = sheet.getCharts();

// Adicionando um gráfico à planilha
int chartIndex = charts.add(ChartType.PYRAMID, 5, 0, 15, 5);
Chart chart = charts.get(chartIndex);

// Adicionando NSeries (fonte de dados do gráfico) ao gráfico variando de "A1"
// célula para "B3"
SeriesCollection serieses = chart.getNSeries();
serieses.add("A1:B3", true);

// Escreva o arquivo Excel 
workbook.save("Excel_with_Chart.xlsx");

A captura de tela a seguir mostra a saída do exemplo de código acima.

criar gráfico no excel linux

Criar uma tabela dinâmica no arquivo do Excel no Linux

As tabelas dinâmicas nas planilhas do Excel têm várias finalidades, como adicionar filtros aos dados, computar totais, resumir dados, etc. As tabelas dinâmicas podem ser criadas usando o intervalo das células na planilha. Você pode criar uma tabela dinâmica em um arquivo do Excel seguindo as etapas abaixo.

  • Crie um novo arquivo Excel ou carregue um existente usando a classe Workbook.
  • Insira os dados na planilha (opcional).
  • Acesse a coleção de tabelas dinâmicas usando o método Worksheet.getPivotTables().
  • Adicione uma nova tabela dinâmica na planilha usando o método Worksheet.getPivotTables().add().
  • Forneça dados para a tabela dinâmica.
  • Salve a pasta de trabalho usando o método Workbook.save().

O exemplo de código a seguir mostra como criar uma tabela dinâmica no Excel.

// Criar uma nova pasta de trabalho
Workbook workbook = new Workbook("workbook.xlsx"); 

// Pegue a primeira planilha.
Worksheet sheet = workbook.getWorksheets().get(0);

// Obtendo a coleção de células da planilha
Cells cells = sheet.getCells();

// Configurando o valor para as células
Cell cell = cells.get("A1");
cell.setValue("Sport");
cell = cells.get("B1");
cell.setValue("Quarter");
cell = cells.get("C1");
cell.setValue("Sales");

cell = cells.get("A2");
cell.setValue("Golf");
cell = cells.get("A3");
cell.setValue("Golf");
cell = cells.get("A4");
cell.setValue("Tennis");
cell = cells.get("A5");
cell.setValue("Tennis");
cell = cells.get("A6");
cell.setValue("Tennis");
cell = cells.get("A7");
cell.setValue("Tennis");
cell = cells.get("A8");
cell.setValue("Golf");

cell = cells.get("B2");
cell.setValue("Qtr3");
cell = cells.get("B3");
cell.setValue("Qtr4");
cell = cells.get("B4");
cell.setValue("Qtr3");
cell = cells.get("B5");
cell.setValue("Qtr4");
cell = cells.get("B6");
cell.setValue("Qtr3");
cell = cells.get("B7");
cell.setValue("Qtr4");
cell = cells.get("B8");
cell.setValue("Qtr3");

cell = cells.get("C2");
cell.setValue(1500);
cell = cells.get("C3");
cell.setValue(2000);
cell = cells.get("C4");
cell.setValue(600);
cell = cells.get("C5");
cell.setValue(1500);
cell = cells.get("C6");
cell.setValue(4070);
cell = cells.get("C7");
cell.setValue(5000);
cell = cells.get("C8");
cell.setValue(6430);


PivotTableCollection pivotTables = sheet.getPivotTables();

// Adicionando uma tabela dinâmica à planilha
int index = pivotTables.add("=A1:C8", "E3", "PivotTable2");

// Acessando a instância da tabela dinâmica recém-adicionada
PivotTable pivotTable = pivotTables.get(index);

// Não mostrando totais gerais para linhas.
pivotTable.setRowGrand(false);

// Arrastando o primeiro campo para a área da linha.
pivotTable.addFieldToArea(PivotFieldType.ROW, 0);

// Arrastando o segundo campo para a área da coluna.
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 1);

// Arrastando o terceiro campo para a área de dados.
pivotTable.addFieldToArea(PivotFieldType.DATA, 2);

// Escreva o arquivo Excel 
workbook.save("Excel_with_Chart.xlsx");

Veja a seguir a captura de tela da tabela dinâmica gerada pelo exemplo de código acima.

criar tabela dinâmica no excel no linux

Adicionar fórmulas para células em arquivos do Excel

Aspose.Cells para Java também suporta trabalhar com fórmulas em planilhas do Excel. As seções a seguir descrevem como trabalhar com funções internas e complementares.

Aplicar funções internas no Excel

Para funções internas, você pode simplesmente obter a referência da célula desejada na planilha e adicionar uma fórmula usando o método Cell.setFormula(String). O exemplo de código a seguir mostra como definir uma fórmula interna no Excel.

// Criar uma nova pasta de trabalho
Workbook workbook = new Workbook();

// Adicionar valor na célula
workbook.getWorksheets().get(0).getCells().get(0).setFormula("=H7*(1+IF(P7 =$L$3,$M$3, (IF(P7=$L$4,$M$4,0))))");

// Salvar como arquivo Excel XLSX
workbook.save("Excel.xlsx"); 

Adicionar funções suplementares no Excel

Aspose.Cells para Java também suporta funções definidas pelo usuário para planilhas do Excel. Para isso, você terá que registrar a função add-in usando um arquivo xlam (suplemento habilitado para macro do Excel). Para registrar as funções de suplemento, a API fornece os métodos registerAddInFunction(int, String) e registerAddInFunction(String, String, boolean). O exemplo de código a seguir mostra como registrar e usar uma função de suplemento no Excel.

// criar uma nova pasta de trabalho
Workbook workbook = new Workbook();

// Registre o suplemento habilitado para macro junto com o nome da função
int id = workbook.getWorksheets().registerAddInFunction("TESTUDF.xlam", "TEST_UDF", false);

// Registre mais funções no arquivo (se houver)
workbook.getWorksheets().registerAddInFunction(id, "TEST_UDF1"); //in this way you can add more functions that are in the same file

// Acesse a primeira planilha
Worksheet worksheet = workbook.getWorksheets().get(0);

// Acesse a primeira célula
Cell cell = worksheet.getCells().get("A1");

// Definir o nome da fórmula presente no suplemento
cell.setFormula("=TEST_UDF()"); 

// Salvar como arquivo Excel XLSX
workbook.save("Excel.xlsx"); 

Obtenha uma licença gratuita

Você pode usar o Aspose.Cells para Java sem limitações de avaliação usando uma licença temporária.

Conclusão

Neste artigo, você aprendeu como criar arquivos do MS Excel do zero no Linux. Além disso, você viu como atualizar os arquivos do Excel, gerar gráficos, criar tabelas dinâmicas e adicionar fórmulas nas planilhas. Você pode aprender mais sobre Aspose.Cells para Java usando documentação. Caso você tenha alguma dúvida, você pode perguntar através do nosso fórum.

Veja também