Ver Mensaje Individual
  #6 (permalink)  
Antiguo 22/03/2014, 02:10
bastardodelacadena
 
Fecha de Ingreso: marzo-2014
Mensajes: 7
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: como exportar tabla html a excel con php?

Bueno como nadie pudo ayudar aqui dejo la solucion que despues de tanto traste al fin la encontre y la modifique quedando perfecta!!! pateketrueke mira!!!! dejo el codigo aqui :)
algunas indicaciones:
-Para que el codigo funcione es necesario llamar a la libreria PHPexcel.php y a su carpeta con los archivos y deben ser dejados en la carpeta del host... (obvio!).
-luego un link hacia el archivo que llame exp_excell.php, algunas modificaciones como por ejemplo la version del office que estamos ocupando, añadirle algunas cosillas como mas celdas y eso, la consulta a la bd.... mmmmm bueno si alguien lo puede dejar mas nice! estaria muy agradecido pero por lo menos esto hace lo que quiero :)


aqui el codigo....


<?php
//opcional..
date_default_timezone_set('America/Santiago');
require_once("PHPExcel.php");

//VARIABLES DE PHP
$objPHPExcel = new PHPExcel();
$Archivo = "phpexcel";

//DATOS DE LA CONECCION MYSQL
$link=mysql_connect("localhost","root","");
$bd =mysql_select_db("bdxxx");


// Propiedades de archivo Excel
$objPHPExcel->getProperties()->setCreator("GerardoHernandez")
->setLastModifiedBy("GerardoHernandez")
->setTitle("Reporte XLS")
->setSubject("Reporte")
->setDescription("")
->setKeywords("")
->setCategory("");


//PROPIEDADES DEL LA CELDA
$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial Narrow');
$objPHPExcel->getDefaultStyle()->getFont()->setSize(10);
//alto de la fila numero 1..
$objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(20);
//alto de las coloumnas...
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('M')->setWidth(20);

//CABECERA DE LA CONSULTA DONDE EL "Y" ESPECIFICA HACIA DONDE SE EFECTUARA DICHA OP, OSE DE LA COLUMNA "A" HACIA LA DERECHA....
$y = 1;
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue("A".$y, 'reg_id')
->setCellValue("B".$y, 'fechaing')
->setCellValue("C".$y, 'tecnico')
->setCellValue("D".$y, 'ppu')
->setCellValue("E".$y, 'os')
->setCellValue("F".$y, 'cambios')
->setCellValue("G".$y, 'esm')
->setCellValue("H".$y, 'unidad')
->setCellValue("I".$y, 'mtc')
->setCellValue("J".$y, 'comentario')
->setCellValue("K".$y, 'usr')
->setCellValue("L".$y, 'cda')
->setCellValue("M".$y, 'cdc');


$objPHPExcel->getActiveSheet()
->getStyle('A1:M1')
->getFill()
->setFillType(PHPExcel_Style_Fill::FILL_SOLID)
->getStartColor()->setARGB('EEEEEEEB');

$borders = array(
'borders' => array(
'allborders' => array(
'style' => PHPExcel_Style_Border::BORDER_THIN,
'color' => array('argb' => 'FF000000'),
)
),
);

$objPHPExcel->getActiveSheet()
->getStyle('A1:M1')
->applyFromArray($borders);


//DETALLE DE LA CONSULTA
$sql ="SELECT *FROM registro_tb";
$rec =mysql_query($sql);
while($row=mysql_fetch_array($rec))
{
$y++;
//BORDE DE LA CELDA
$objPHPExcel->setActiveSheetIndex(0)
->getStyle('A'.$y.":M".$y)
->applyFromArray($borders);

//MOSTRAMOS LOS VALORES
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue("A".$y, $row['reg_id'])
->setCellValue("B".$y, $row['fechaing'])
->setCellValue("C".$y, $row['tecnico'])
->setCellValue("D".$y, $row['ppu'])
->setCellValue("E".$y, $row['os'])
->setCellValue("F".$y, $row['cambios'])
->setCellValue("G".$y, $row['esm'])
->setCellValue("H".$y, $row['unidad'])
->setCellValue("I".$y, $row['mtc'])
->setCellValue("J".$y, $row['comentario'])
->setCellValue("K".$y, $row['usr'])
->setCellValue("L".$y, $row['cda'])
->setCellValue("M".$y, $row['cdc']);
}

//DATOS DE LA SALIDA DEL EXCEL
/*header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="'.$Archivo.'"');
header('Cache-Control: max-age=0');
//aqui la version...
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');

exit;*/
/////////////////////////////////////////////////////////////////////////
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="total_llamados.xls"');
header('Cache-Control: max-age=0');

$objWriter=PHPExcel_IOFactory::createWriter($objPH PExcel,'Excel2007');
$objWriter->save('php://output');
exit;
mysql_close ();
?>

Bueno espero que a alguien le sirva! :)