Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/07/2012, 22:51
mogurbon
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 2 meses
Puntos: 155
Respuesta: APORTE- de Excell 2007 a mysql

ni como refutar buenas practicas asi we?

Código PHP:
Ver original
  1. <?
  2. #Autor Gerardo Aquino López
  3. #su conexion a la base de datos
  4. require_once('conn.php');
  5.  
  6. #si esta choncho el excell luego se truena entonces subo el tiempo de ejecucion y el tamaño de la memoria
  7. ini_set('memory_limit','64M');
  8. #incluyo la clase phpexcel y el archivo Excel a importar
  9. require_once '../PHPExcel-1.7.7/Classes/PHPExcel/IOFactory.php';
  10. $objReader = PHPExcel_IOFactory::createReader('Excel2007');
  11. $nombre_archivo="elarchivo.xlsx";
  12. $objPHPExcel = $objReader->load($nombre_archivo);
  13. #defino tabla y campos
  14. $tabla="tabla";
  15. $campos=array();# me calabaceo el triby XD
  16. $campos[]="campo1";
  17. $campos[]="campo2";
  18. $campos[]="campo3";
  19.  
  20. #funcion malevola
  21. function guarda($arg_list){
  22.         global $tabla;
  23.         global $conn;
  24.         global $campos;
  25.         $num_datos=count($arg_list);
  26.         $sql="INSERT INTO `$tabla` (";
  27.         foreach($campos as $campo)
  28.                 $sql.="$campo,";
  29.         )
  30.         $sql=substr($sql,0,strlen($sql)-1);
  31.         $sql.=") VALUES (";
  32.         for ($i=0;$i<$num_datos;$i++){
  33.                 if(isset($arg_list[$i])){
  34.                         $sql.="'{$arg_list[$i]}',";
  35.                 }
  36.                 else{
  37.                         $sql.="'',";
  38.                 }
  39.         }
  40.         $sql=substr($sql,0,strlen($sql)-1).");";
  41.         mysql_query($sql,$conn);
  42.  
  43. }
  44.  
  45. #recorrido de los campos del excell para insertarlos en la base de datos
  46. $objWorksheet = $objPHPExcel->getActiveSheet();
  47. foreach ($objWorksheet->getRowIterator() as $row) {
  48.   $cellIterator = $row->getCellIterator();
  49.   $cellIterator->setIterateOnlyExistingCells(false);
  50.   unset ($arg_list)   ;
  51.   $arg_list=array();# me calabaceo el triby XD
  52.  foreach ($cellIterator as $cell) {
  53.         $arg_list[]=$cell->getCalculatedValue();
  54.   }
  55.   guarda($arg_list);
  56. }
  57. unset($objPHPExcel);
  58. mysql_close($conn);
  59. ?>
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo