¡Esta es una revisión vieja del documento!
Tabla de Contenidos
PHPExcel
Clase para la lectura y escritura de ficheros Excel con PHP.
- Repositorio oficial (GitHub)
PHPExcel está obsoleto desde la versión 1.8.1 (año 2015). A día de hoy, su sucesor es PhpSpreadsheet
Operaciones habituales
Nombrar una hoja
// La "activamos" para trabajar con ella $objPHPExcel->setActiveSheetIndex(1); // Damos nombre $objPHPExcel->getActiveSheet()->setTitle('N1');
Escribir números largos
Por defecto, sin introducimos un número en una celda, Excel lo tratará como número y si es demasiado grande lo redondeará o truncará. Para que nos respete el número tal cual, tenemos que forzar a que se introduzca como texto:
$objPHPExcel->getActiveSheet()->setCellValueExplicit('A1', '1234567890', PHPExcel_Cell_DataType::TYPE_STRING);
Añadir una hoja
Por defecto, el fichero Excel se creará con una sola hoja. Si queremos añadir otra:
$objPHPExcel->createSheet(); // La "activamos" para trabajar con ella $objPHPExcel->setActiveSheetIndex(1);
Fechas
Convertir desde formato Excel
Excel almacena las fechas como el tiempo transcurrido desde el 01/01/1900 (en algunas versiones utiliza el 01/01/1904).
Si extraemos una fecha con PHPExcel, obtendremos un número decimal con los días transcurridos. Para transformarlo a fecha UNIX (01/01/1970) y poder trabajar mejor con ella:
$fecha_unix = ($fecha_excel - 25569) * 86400;
A partir de entonces, ya podríamos utilizar $fecha_unix para obtener otros formatos de fecha:
echo gmdate("d/m/Y H:i:s", $fecha_unix);
Recursos
- Ejemplos de la versión 1.8 (lanzada en 2015 y archivada en 2019)
