Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/02/2016, 12:30
german_1441
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 5 meses
Puntos: 20
Respuesta: Exportar a Excel con PHP ¿Cual es la mejor opción?

Hola amigo,
yo he utilizado la librería q te comenta wilmer30 (PHPExcel)
Y va bastante bien ;)

Te dejo un ejemplo de cómo la podrías utilizar, una vez la hayas descargado


Código PHP:
Ver original
  1. //Una vez la hayas descargado, haces el enlace
  2. require_once 'directorio_de_libreria/'.'PHPExcel.php';
  3.  
  4. //Creas el objeto
  5. $objPHPExcel   = new PHPExcel(); //Nuevo objeto excel para crear un archivo
  6.  
  7. //Aquí puedes modificar algunas propiedades del archivo que será creado
  8. $objPHPExcel->getProperties()->setCreator("Creador");
  9. $objPHPExcel->getProperties()->setLastModifiedBy("Ultima modificacion");
  10. $objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Test Document");
  11. $objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Test Document");
  12. $objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHPExcel classes.");
  13.  
  14. //Con ésta función puedes setear las columnas que irán de título
  15.  
  16. //Ajustas la celda al tamaño del texto
  17. foreach( range('A','C') as $letra ){ //Recorremos las letras que iran en nuestro titulo
  18.    $objPHPExcel->getActiveSheet()->getColumnDimension($letra)->setAutoSize(true);
  19. }
  20.  
  21. //Seteas los titulos
  22. $objPHPExcel->setActiveSheetIndex(0);
  23. $objPHPExcel->getActiveSheet()->SetCellValue('A1', 'Campo1');
  24. $objPHPExcel->getActiveSheet()->SetCellValue('B1', 'Campo2');
  25. $objPHPExcel->getActiveSheet()->SetCellValue('C1', 'Campo3');  
  26.  
  27. //Aqui comenzamos a escribir en el archivo excel, toma en cuenta que si decides poner columnas de titulo, debes empezar apartir del renglon #2, esto puede ir en una iteración, dependiendo de cuantos datos necesites, eso te lo dejo a ti ;)
  28.  
  29. $c = 2; //Numero de renglón
  30. $objPHPExcel->setActiveSheetIndex(0);
  31. $objPHPExcel->getActiveSheet()->SetCellValue('A'.$c, 'Valor de mi campo1');
  32. $objPHPExcel->getActiveSheet()->SetCellValue('B'.$c, 'Valor de mi campo2');
  33. $objPHPExcel->getActiveSheet()->SetCellValue('C'.$c, 'Valor de mi campo3');
  34.  
  35. //El nombre de la hoja en tu archivo excel
  36. $objPHPExcel->getActiveSheet()->setTitle('Example');
  37.  
  38. //Creamos el archivo
  39. $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
  40. $objWriter->save('carpeta_destino/'.'nombre_archivo.xlsx');
  41. echo "Archivo creado: ".$namexls;

Espero te sirva, saludos! ;)