Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE TABLE IF NOT EXISTS `countries` (
- INSERT INTO `countries` (`id`, `countryCode`, `countryName`, `currencyCode`, `capital`, `continentName`) VALUES
- (1, 'AD', 'Andorra', 'EUR', 'Andorra la Vella', 'Europe'),
- (2, 'AE', 'United Arab Emirates', 'AED', 'Abu Dhabi', 'Asia'),
- (3, 'AF', 'Afghanistan', 'AFN', 'Kabul', 'Asia'),
- (4, 'AG', 'Antigua and Barbuda', 'XCD', 'St. John''s', 'North America'),
- (5, 'AI', 'Anguilla', 'XCD', 'The Valley', 'North America'),
- (6, 'AL', 'Albania', 'ALL', 'Tirana', 'Europe'),
- (7, 'AM', 'Armenia', 'AMD', 'Yerevan', 'Asia'),
- (8, 'AO', 'Angola', 'AOA', 'Luanda', 'Africa'),
- (9, 'AQ', 'Antarctica', '', '', 'Antarctica'),
- (10, 'AR', 'Argentina', 'ARS', 'Buenos Aires', 'South America'),
- ALTER TABLE `countries`
- ADD PRIMARY KEY (`id`);
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8" />
- <title>Reporte de excel con PHP y MySQL</title>
- </head>
- <body>
- <div>
- <h1>REPORTE DE EXCEL CON PHP Y MYSQL</h1>
- <div>
- <a href="exportar.php"> Generar reporte en Excel</a>
- </div>
- </div>
- </body>
- </html>
- <?php
- if (PHP_SAPI == 'cli')
- die('Este ejemplo sólo se puede ejecutar desde un navegador Web');
- /** Incluye PHPExcel */
- require_once 'Librerias/Classes/PHPExcel.php';
- // Crear nuevo objeto PHPExcel
- $objPHPExcel = new PHPExcel();
- // Propiedades del documento
- $objPHPExcel->getProperties()->setCreator("Obed Alvarado")
- ->setLastModifiedBy("Obed Alvarado")
- ->setTitle("Office 2010 XLSX Documento de prueba")
- ->setSubject("Office 2010 XLSX Documento de prueba")
- ->setDescription("Documento de prueba para Office 2010 XLSX, generado usando clases de PHP.")
- ->setKeywords("office 2010 openxml php")
- ->setCategory("Archivo con resultado de prueba");
- // Combino las celdas desde A1 hasta E1
- $objPHPExcel->setActiveSheetIndex(0)->mergeCells('A1:E1');
- $objPHPExcel->setActiveSheetIndex(0)
- ->setCellValue('A1', 'REPORTE DE PAISES')
- ->setCellValue('A2', 'CODIGO')
- ->setCellValue('B2', 'NOMBRE')
- ->setCellValue('C2', 'MONEDA')
- ->setCellValue('D2', 'CAPITAL')
- ->setCellValue('E2', 'CONTINENTE');
- // Fuente de la primera fila en negrita
- $boldArray = array('font' => array('bold' => true,),'alignment' => array('horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER));
- $objPHPExcel->getActiveSheet()->getStyle('A1:E2')->applyFromArray($boldArray);
- //Ancho de las columnas
- $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(8);
- $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(30);
- $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(15);
- $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20);
- $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(15);
- /*Extraer datos de MYSQL*/
- # conectare la base de datos
- $con=@mysqli_connect('localhost', 'root', 'pass', 'test');
- if(!$con){
- die("imposible conectarse: ".mysqli_error($con));
- }
- if (@mysqli_connect_errno()) {
- die("Connect failed: ".mysqli_connect_errno()." : ". mysqli_connect_error());
- }
- $sql="SELECT * FROM countries order by countryName";
- $query=mysqli_query($con,$sql);
- $cel=3;//Numero de fila donde empezara a crear el reporte
- while ($row=mysqli_fetch_array($query)){
- $countryCode=$row['countryCode'];
- $countryName=$row['countryName'];
- $currencyCode=$row['currencyCode'];
- $capital=$row['capital'];
- $continentName=$row['continentName'];
- $a="A".$cel;
- $b="B".$cel;
- $c="C".$cel;
- $d="D".$cel;
- $e="E".$cel;
- // Agregar datos
- $objPHPExcel->setActiveSheetIndex(0)
- ->setCellValue($a, $countryCode)
- ->setCellValue($b, $countryName)
- ->setCellValue($c, $currencyCode)
- ->setCellValue($d, $capital)
- ->setCellValue($e, $continentName);
- $cel+=1;
- }
- /*Fin extracion de datos MYSQL*/
- $rango="A2:$e";
- $styleArray = array('font' => array( 'name' => 'Arial','size' => 10),
- 'borders'=>array('allborders'=>array('style'=> PHPExcel_Style_Border::BORDER_THIN,'color'=>array('argb' => 'FFF')))
- );
- $objPHPExcel->getActiveSheet()->getStyle($rango)->applyFromArray($styleArray);
- // Cambiar el nombre de hoja de cálculo
- $objPHPExcel->getActiveSheet()->setTitle('Reporte de paises');
- // Establecer índice de hoja activa a la primera hoja , por lo que Excel abre esto como la primera hoja
- $objPHPExcel->setActiveSheetIndex(0);
- // Redirigir la salida al navegador web de un cliente ( Excel5 )
- header('Content-Type: application/vnd.ms-excel');
- header('Content-Disposition: attachment;filename="reporte.xls"');
- header('Cache-Control: max-age=0');
- // Si usted está sirviendo a IE 9 , a continuación, puede ser necesaria la siguiente
- header('Cache-Control: max-age=1');
- // Si usted está sirviendo a IE a través de SSL , a continuación, puede ser necesaria la siguiente
- header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
- header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
- header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
- header ('Pragma: public'); // HTTP/1.0
- $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
- $objWriter->save('php://output');
- exit;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement