PHPSpreadsheet
Biblioteca PHP de código abierto para archivos de hoja de cálculo
Lea, escriba, manipule y procese archivos de Microsoft Excel y LibreOffice Calc.
PHPSpreadsheet es una biblioteca de código abierto que incluye un conjunto de clases que le permiten interactuar y utilizar varios formatos de archivo de hoja de cálculo de Microsoft Excel y LibreOffice Calc. PHPSpreadsheet admite hojas de cálculo que contienen una o más hojas de trabajo, que contienen celdas para contener datos de varios tipos, como números, fórmulas, imágenes, etc.
Primeros pasos con PHP Hoja de cálculo
En primer lugar, debe tener PHP versión 7.1 o posterior para desarrollar con PhpSpreadsheet. La forma recomendada de instalar PhpSpreadsheet en su proyecto es usando composer. Abra la terminal en el directorio raíz de su proyecto y ejecute el comando:
Aquí está el comando
composer require phpoffice/phpspreadsheet
Composer ofrece un instalador conveniente que puede ejecutar directamente desde la línea de comandos. Siéntase libre de descargar este archivo o revisarlo en GitHub. Hay dos formas de instalar Compositor. Instálelo localmente como parte de su proyecto, o globalmente como un ejecutable para todo el sistema.
Trabajar con celdas de hoja de cálculo
PHPSpreadsheet le permite acceder a la celda y establecer su valor por coordenadas. También puede crear una nueva celda y configurar una fórmula en ella. También puede configurar la celda para que ocupe varios tipos de datos, como fecha, hora y número con ceros a la izquierda. PHPSpreadsheet también le permite establecer un rango de celdas de una matriz, así como recorrer las celdas usando iteradores o índices. También puede usar carpetas de valor para permitir la entrada de datos fáciles de usar.
Crear un nuevo XLSX - PHP
<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
// Create a new Spreasheet
$spreadsheet = new Spreadsheet();
// Get active sheet
$sheet = $spreadsheet->getActiveSheet();
// Set cell value
$sheet->setCellValue('A1', 'File Format Developer Guide !');
// Save in Xlsx format
$writer = new Xlsx($spreadsheet);
$writer->save('FileFormat.xlsx');
Crear y aplicar filtros automáticos
Usando PHPSpreadsheet, puede aplicar rangos de filtro automático para filtrar y mostrar solo aquellas filas que coincidan con los criterios que ha definido en el filtro automático. Puede aplicar filtros a más de una columna como aditivos.
PHPSpreadsheet le permite establecer un área de filtro automático en una hoja de trabajo. Puede crear, leer y escribir expresiones de filtro automático. Además, hay varios tipos de filtros disponibles, como filtros simples, espacios en blanco coincidentes, filtros de grupo de fechas, filtros personalizados, filtros dinámicos y diez filtros principales.
Aplicar filtro automático en XLSX - PHP
<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
// Load existing file without filters
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load('withoutFilter.xlsx');
// Select active worksheet
$spreadsheet->setActiveSheetIndex(0);
$spreadsheet->getActiveSheet()->setAutoFilter($spreadsheet->getActiveSheet()->calculateWorksheetDimension());
// Set active filters
$autoFilter = $spreadsheet->getActiveSheet()->getAutoFilter();
// Filter the Country column on a filter value of Germany
$autoFilter->getColumn('C')
->setFilterType(Column::AUTOFILTER_FILTERTYPE_FILTER)
->createRule()
->setRule(
Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
'Germany'
);
// Save file
$writer = new Xlsx($spreadsheet);
$writer->save('Filter.xlsx');
Motor de cálculo de fórmulas
Para realizar cálculos de nivel básico a avanzado en las hojas de cálculo de su negocio, puede evocar fácilmente el motor de cálculo de fórmulas de PHPSpreadsheet, y se encargará del resto.
El analizador de fórmulas de PHPSpreadsheet puede ajustar automáticamente una fórmula mientras se insertan/eliminan filas/columnas. La fórmula de Microsoft Excel se convierte en código PHP antes de ejecutarse. Para aumentar el rendimiento, se utiliza una memoria caché de cálculo para almacenar el resultado de la fórmula. De manera similar, cada hoja de trabajo individual se mantiene en un caché separado.