Criar arquivos do Excel em PHP

As planilhas se tornaram uma parte essencial de manter, organizar e analisar os dados. Como as soluções automatizadas estão cada vez mais presentes nos negócios, a tendência de criar e manipular documentos do Excel (XLS/XLSX) surgiu e cresce a um ritmo enorme. De acordo com o cenário mencionado acima, este artigo aborda como criar arquivos Excel XLSX ou XLS em PHP.

Biblioteca PHP para criar arquivos XLS do Excel - Download grátis

Para criar e manipular arquivos Excel em aplicações web baseadas em PHP, usaremos Aspose.Cells for PHP via Java. É uma biblioteca poderosa e de alta velocidade que fornece uma ampla gama de recursos para automação do Excel. Você pode baixar o pacote da biblioteca de aqui.

Uso

A seguir estão os pré-requisitos que você precisa cumprir para usar o Aspose.Cells para PHP via Java.

Depois de concluir os pré-requisitos, siga as etapas abaixo para executar o arquivo example.php para teste.

  1. Coloque o arquivo Java.inc na pasta raiz do pacote da biblioteca que você baixou.
  2. Execute JavaBridge.jar usando os comandos abaixo no prompt de comando:
    • cd aspose.cells

    • %JAVAHOME%\bin\java -Djava.ext.dirs=lib -jar JavaBridge.jar SERVLETLOCAL:8080

  3. Execute example.php da pasta raiz da biblioteca usando o comando abaixo:
    • php exemplo.php

Criar arquivo XLS do Excel em PHP

A seguir estão as etapas para criar um arquivo Excel XLSX (ou XLS) em PHP.

O exemplo de código a seguir mostra como criar um arquivo Excel XLSX em PHP.

require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once("aspose.cells.php");

use aspose\cells;

// Criar um objeto de classe de pasta de trabalho
$workbook = new cells\Workbook();

// Acesse as planilhas
$sheets = $workbook->getWorksheets();

// Acesse as células da planilha desejada
$cells = $sheets->get(0)->getCells();

// Inserir valor na célula
$cells->get("A1")->putValue("Hello world!");

// Salve o arquivo Excel
$workbook->save("output.xlsx", cells\SaveFormat::XLSX);

Atualizar um Excel XLS em PHP

Na seção anterior, criamos um arquivo do Excel do zero. Agora, vamos editar um arquivo Excel existente e inserir dados nele. A seguir estão as etapas para gravar dados em um arquivo XLSX usando Aspose.Cells para PHP via Java.

O exemplo de código a seguir mostra como modificar um arquivo do Excel e gravar dados nele em PHP.

// Crie um objeto de classe de pasta de trabalho para carregar o arquivo do Excel
$workbook = new cells\Workbook("workbook.xlsx");

// Acesse as planilhas
$sheets = $workbook->getWorksheets();

// Acesse as células da planilha desejada
$cells = $sheets->get(0)->getCells();

// Inserir valor na célula
$cells->get("A1")->putValue("Hello world!");

// Salve o arquivo Excel
$workbook->save("updated.xlsx");

PHP Criar gráficos em um Excel XLS

A seguir estão as etapas para criar gráficos em um arquivo do Excel usando PHP.

O exemplo de código a seguir mostra como criar gráficos em arquivos do Excel em PHP.

// Carregar o arquivo Excel
$workbook = new Workbook("Book2.xlsx");

// Obtenha a referência da primeira planilha
$worksheets = $workbook->getWorksheets();
$sheet = $worksheets->get(0);

// Adicione algum valor de amostra às células
$cells = $sheet->getCells();
$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
$charts = $sheet->getCharts();

// Adicionar um gráfico à planilha
$chartIndex = $charts->add(ChartType::PYRAMID, 5, 0, 15, 5);
$chart = $charts->get($chartIndex);

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

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

Criar uma tabela dinâmica em um Excel XLSX em PHP

As tabelas dinâmicas em planilhas do Excel são usadas para adicionar filtros aos dados, computar totais, resumir dados, etc. As tabelas dinâmicas podem ser criadas usando o intervalo das células na planilha. A seguir estão as etapas para criar uma tabela dinâmica em uma planilha do Excel usando PHP.

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

// Carregar documento a ser convertido
$workbook = new Workbook("Book2.xlsx");

// Obtenha a referência da primeira planilha
$worksheets = $workbook->getWorksheets();
$sheet = $worksheets->get(0);

// Adicione algum valor de amostra às células
$cells = $sheet->getCells();
$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);

// Obter tabelas dinâmicas
$pivotTables = $sheet->getPivotTables();

// Adicionar uma tabela dinâmica à planilha
$index = $pivotTables->add("=A1:C8", "E3", "PivotTable2");

// Acesse a instância da tabela dinâmica recém-adicionada
$pivotTable = $pivotTables->get($index);

// Não mostrar totais gerais para linhas
$pivotTable->setRowGrand(false);

// Arraste o primeiro campo para a área da linha
$pivotTable->addFieldToArea(PivotFieldType::ROW, 0);

// Arraste o segundo campo para a área da coluna
$pivotTable->addFieldToArea(PivotFieldType::COLUMN, 1);

// Arraste o terceiro campo para a área de dados
$pivotTable->addFieldToArea(PivotFieldType::DATA, 2);

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

Biblioteca PHP Excel - Obtenha uma licença de biblioteca gratuita

Você pode criar arquivos Excel em PHP gratuitamente sem limitações de avaliação usando uma licença temporária.

Conclusão

Neste artigo, você aprendeu como criar arquivos Excel XLS ou XLSX do zero em PHP. Além disso, você viu como gravar dados em um arquivo Excel existente e gerar arquivos Excel com gráficos ou tabelas em PHP. Você pode explorar mais sobre a biblioteca PHP Excel usando a documentação. Caso você tenha alguma dúvida, sinta-se à vontade para nos informar através do nosso fórum.

Veja também