Las hojas de cálculo se han convertido en una parte esencial para mantener, organizar y analizar los datos. Dado que las soluciones automatizadas están más en el negocio en estos días, la tendencia de crear y manipular documentos de Excel (XLS/XLSX) ha surgido y está creciendo a un ritmo enorme. De acuerdo con el escenario mencionado anteriormente, este artículo cubre cómo crear archivos Excel XLSX o XLS en aplicaciones web basadas en PHP.
- API de automatización de PHP Excel
- Cree archivos Excel XLS o XLSX usando PHP
- Escribir datos en un archivo de Excel existente usando PHP
- Crear tablas o gráficos en un archivo de Excel usando PHP
- Crear una tabla en un archivo de Excel usando PHP
API de PHP para crear archivos de Excel
Para crear y manipular archivos de Excel en aplicaciones web basadas en PHP, utilizaremos Aspose.Cells for PHP via Java. Es una potente API que proporciona una amplia gama de funciones para la automatización de Excel. Puede descargar el paquete API desde aquí.
Uso
Los siguientes son los requisitos previos que debe cumplir para usar Aspose.Cells para PHP a través de Java.
Una vez que haya completado los requisitos previos, siga los pasos a continuación para ejecutar el archivo ejemplo.php para la prueba.
- Coloque el archivo Java.inc en la carpeta raíz del paquete de la API que ha descargado.
- Ejecute JavaBridge.jar usando los siguientes comandos en el símbolo del sistema:
cd aspose.cells
%JAVAHOME%\bin\java -Djava.ext.dirs=lib -jar JavaBridge.jar SERVLETLOCAL:8080
- Ejecute example.php desde la carpeta raíz de la API usando el siguiente comando:
ejemplo de php.php
Cree archivos Excel XLS o XLSX usando PHP
Los siguientes son los pasos para crear un archivo Excel XLSX/XLS usando PHP.
- Cree un objeto de la clase Workbook.
- Acceda a WorksheetCollection usando el método $workbook->getWorksheets().
- Acceda a la colección Cells de la hoja de trabajo deseada usando el método $worksheets->get(index)->getCells().
- Inserte el valor en la celda deseada usando el método $cells->get(“A1”)->putValue(“Hello world!”).
- Guarde el libro de Excel usando el método $workbook->save(“output.xlsx”, cells\SaveFormat::XLSX).
El siguiente ejemplo de código muestra cómo crear un archivo XLSX de Excel usando PHP.
require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once("aspose.cells.php");
use aspose\cells;
// Crear un objeto de clase de Workbook
$workbook = new cells\Workbook();
// Accede a las hojas de trabajo
$sheets = $workbook->getWorksheets();
// Acceda a las celdas de la hoja de trabajo deseada
$cells = $sheets->get(0)->getCells();
// Insertar valor a la celda
$cells->get("A1")->putValue("Hello world!");
// Guarde el archivo de Excel
$workbook->save("output.xlsx", cells\SaveFormat::XLSX);
Escribir datos en un archivo de Excel existente usando PHP
En la sección anterior, creamos un archivo de Excel desde cero. Ahora, editemos un archivo de Excel existente e insertemos datos en él. Los siguientes son los pasos para escribir datos en un archivo XLSX usando Aspose.Cells para PHP a través de Java.
- Cree un objeto de la clase Workbook e inicialícelo con la ruta al archivo de Excel.
- Acceda a la WorksheetCollection del archivo de Excel usando el método $workbook->getWorksheets().
- Acceda a la colección Cells de la hoja de trabajo deseada usando el método $worksheets->get(index)->getCells().
- Inserte el valor en la celda deseada usando el método $cells->get(“A1”)->putValue(“Hello world!”).
- Guarde el libro de Excel usando el método $workbook->save(“output.xlsx”, cells\SaveFormat::XLSX).
El siguiente ejemplo de código muestra cómo modificar un archivo de Excel y escribir datos en él mediante PHP.
// Cree un objeto de clase de Workbook para cargar un archivo de Excel
$workbook = new cells\Workbook("workbook.xlsx");
// Accede a las hojas de trabajo
$sheets = $workbook->getWorksheets();
// Acceda a las celdas de la hoja de trabajo deseada
$cells = $sheets->get(0)->getCells();
// Insertar valor a la celda
$cells->get("A1")->putValue("Hello world!");
// Guarde el archivo de Excel
$workbook->save("updated.xlsx");
Crear gráficos en un archivo de Excel usando PHP
Los siguientes son los pasos para crear gráficos en un archivo de Excel usando PHP.
- Cree un nuevo archivo de Excel o cargue uno existente usando la clase Workbook.
- Agregue datos a la hoja de trabajo si se crea un nuevo Workbook.
- Obtenga la colección de gráficos de la hoja de trabajo usando el método $worksheet->getCharts().
- Agregue un nuevo gráfico usando el método $worksheet->getCharts()->add().
- Obtenga el Chart recién creado de la colección.
- Especifique el rango de celdas para configurar NSeries para el gráfico.
- Guarde el Workbook como un archivo .xlsx de Excel usando el método $workbook->save(“output.xlsx”, cells\SaveFormat::XLSX).
El siguiente ejemplo de código muestra cómo crear gráficos en archivos de Excel en PHP.
// Cargue el archivo de Excel
$workbook = new Workbook("Book2.xlsx");
// Obtener la referencia de la primera hoja de cálculo
$worksheets = $workbook->getWorksheets();
$sheet = $worksheets->get(0);
// Agregar algún valor de muestra a las celdas
$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);
// Obtener gráficos en la hoja de trabajo
$charts = $sheet->getCharts();
// Agregar un gráfico a la hoja de cálculo
$chartIndex = $charts->add(ChartType::PYRAMID, 5, 0, 15, 5);
$chart = $charts->get($chartIndex);
// Agregue NSeries (fuente de datos del gráfico) al gráfico que va desde "A1"
// celda a "B3"
$serieses = $chart->getNSeries();
$serieses->add("A1:B3", true);
// Escribir el archivo de Excel
$workbook.save("Excel_with_Chart.xlsx");
Crear una tabla dinámica en un archivo de Excel usando PHP
Las tablas dinámicas en las hojas de cálculo de Excel se utilizan para agregar filtros a los datos, calcular totales, resumir datos, etc. Las tablas dinámicas se pueden crear utilizando el rango de celdas de la hoja de cálculo. Los siguientes son los pasos para crear una tabla dinámica en una hoja de cálculo de Excel usando PHP.
- Cree un nuevo archivo de Excel o cargue uno existente usando la clase Workbook.
- Insertar datos en la hoja de cálculo.
- Acceda a la colección de tablas dinámicas utilizando el método $worksheet->getPivotTables().
- Agregue una nueva tabla dinámica en la hoja de trabajo usando el método $worksheet->getPivotTables()->add().
- Proporcionar datos a la tabla dinámica.
- Guarde el Workbook usando el método $workbook->save(“output.xlsx”, cells\SaveFormat::XLSX).
El siguiente ejemplo de código muestra cómo crear una tabla dinámica en Excel usando PHP.
// Cargar documento a convertir
$workbook = new Workbook("Book2.xlsx");
// Obtener la referencia de la primera hoja de cálculo
$worksheets = $workbook->getWorksheets();
$sheet = $worksheets->get(0);
// Agregar algún valor de muestra a las celdas
$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);
// Obtener tablas dinámicas
$pivotTables = $sheet->getPivotTables();
// Agregar una tabla dinámica a la hoja de trabajo
$index = $pivotTables->add("=A1:C8", "E3", "PivotTable2");
// Acceda a la instancia de la tabla dinámica recién agregada
$pivotTable = $pivotTables->get($index);
// Mostrar totales generales para filas
$pivotTable->setRowGrand(false);
// Arrastre el primer campo al área de la fila
$pivotTable->addFieldToArea(PivotFieldType::ROW, 0);
// Arrastre el segundo campo al área de la columna
$pivotTable->addFieldToArea(PivotFieldType::COLUMN, 1);
// Arrastre el tercer campo al área de datos
$pivotTable->addFieldToArea(PivotFieldType::DATA, 2);
// Escribir el archivo de Excel
$workbook.save("Excel_with_Table.xlsx");
Obtenga una licencia de API gratuita
Puede usar la API de forma gratuita sin limitaciones de evaluación utilizando una licencia temporal.
Conclusión
En este artículo, ha aprendido cómo crear archivos de Excel desde cero usando PHP. Además, ha visto cómo escribir datos en un archivo de Excel existente y generar gráficos o tablas. Puede explorar más sobre la API de PHP Excel utilizando la documentación. En caso de que tenga alguna pregunta, no dude en hacérnosla saber a través de nuestro foro.