
| |||
![]() Hola dioses de la programacion, tengo un problema o mas bien una duda y espero me puedan ayudar, lo que pasa es que necesito saber si se puede exportar una tabla html (la cual tiene datos que toma de una BD) a ecxel con php pero que el archivo excel (ya exportado) mantenga los estilos que probienen de la tabla html, los colores de las celdas las negritas el tipo de letra etc, me ayudarian mucho porfa y si existe algun codigo que haga eso y no sea php igual me serviria. bueno eso gracias de antemano. ![]() |
| ||||
Respuesta: como exportar tabla html a excel con php? Una tabla de HTML no es un documento estándar de Excel, he ahí el primer error. Debes usar una librería especializada para lograr la mayor compatibilidad, pero el segundo error sería pensar que puedes conseguir lo mismo que con HTML. Es bueno que tengas claro esto antes de continuar. Sugerencia: PHPExcel
__________________ Y U NO RTFM? щ(ºдºщ) No atiendo por MP nada que no sea personal. |
| |||
Respuesta: como exportar tabla html a excel con php? mmmmm bueno mira pateketrueke, gracias por tu pronta respuesta el codigo que exporta a excel ya lo tengo pero no puedo conservar los estilos que tiene la tabla html, eso es en lo unico que estoy trancado.... |
| |||
Respuesta: como exportar tabla html a excel con php? pateketrueke, hace poco vi un video en youtube (la programacion era en php y utilizaban un framework llamado yii) se conseguia lo que acabo de citar, pero el codigo era muuuy complejo, pero no imposible, si existe alguna libreria que se tenga que agregar o algun metodo, la idea es que me ayuden al COMO hacerlo.... por eso mi pregunta... ya que tu respuesta me deja entrever que es imposible hacerlo... pero si NO, agradeceria que alguien dijera como se hace y si sube un codigo como ejemplo MEJOR!!! (es la razon por la cual ingrese a este foro ![]() |
| |||
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! :) |
Etiquetas: |