Logo
You
Code

Importat XLS a MySql con PHPExcel

Autor YouCode - http://www.youcode.com.ar/php/importat-xls-a-mysql-con-phpexcel-234

Ejemplo para importar una planilla de Excel a MySql utilizando la libreria PHP PHPExcel

Un ejemplo sencillo para imprtar archivos de excel a MySql
Se asume que la libreria ya la tienen en su servidor.
En este ejemplo cargamos una planilla y preparamos la sentencia SQL para insertar en la tabla.

Cargamos la libreria:
if(!@include('PHPExcel/IOFactory.php')) exit('Error al cargar la libreria');
Cargamos el archivo excel:
$objPHPExcel = PHPExcel_IOFactory::load("path_tu_archivo.xls");
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) 
{
    $worksheetTitle     = $worksheet->getTitle();
    $highestRow         = $worksheet->getHighestRow(); // e.g. 10
    $highestColumn      = $worksheet->getHighestColumn(); // e.g 'F'
    $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
    $nrColumns = ord($highestColumn) - 64;
                        
    //Inicio en la segunda fila porque la primera es el titulo de las celdas               
    for ($row = 2; $row <= $highestRow; ++ $row) 
    {   
          for ($col = 0; $col < $highestColumnIndex; ++ $col) {
             
               $cell = $worksheet->getCellByColumnAndRow($col, $row);
               $val = $cell->getValue();
               $dataType = PHPExcel_Cell_DataType::dataTypeForValue($val);
                                    
               //Suele pasarse de la cantidad de row y aparecen registros en blanco
               //compruebo que no este vacia la variable $val
               if(strlen($val)>0)
               {
                  //Si la columna es un numero, ajusto el valor con 3 decimales
                  //ustedes pueden poner los decimales que necesiten.
                  //n=Numerico
                  //s=String
                  if($dataType=='n')
                  {
                     $valor=number_format($val,3,'.','');
                  }else{
                     $valor=$val;
                  }              
                                                
                  if(empty($datos))
                  {
                       $datos.="'$valor'";
                   }else{
                       $datos.=",'$valor'";
                   }   
          }                                                                                       
                                 
            $sql="insert into mi_tabla values (0,$datos);";
            echo $sql;
            $datos='';$sql='';              
     }                        
}

$objPHPExcel->disconnectWorksheets();
unset($objPHPExcel);

 
http://www.youcode.com.ar/php/importat-xls-a-mysql-con-phpexcel-234