Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/03/2014, 14:10
gunsofledz
 
Fecha de Ingreso: diciembre-2012
Ubicación: .huihuihi
Mensajes: 21
Antigüedad: 11 años, 4 meses
Puntos: 0
Insertar Excel en SQL 2005 usando PHP

Hola que tal a todos!!

Mi pregunta es, ¿Como puedo insertarle a SQL información contenida en un Excel?
Ya tengo por así decirlo un "camino" trazado, pero si tienen uno mejor, con gusto puedo cambiarlo.

Primero, con un uploading file, el usuario selecciona el XLS a subir, despues, al validar que sea un XLS se llama una funcion de cargar_archivo.php...ahi es donde me atoro, si puedo conecatrme al servidor pero no se como manipular la informacion de Excel para insertarla en SQL.¿se puede saltar una fila cuando este insertando la informacion?¿como se le haria?... Muchas gracias por sus respuestas.

Nota: estoy usando una libreria llamada PHPExcel-1.7.7..

Este es el que maneja el uploader que esta en html...
Código PHP:
require_once 'manipula_exe.php';

if( !isset(
$_FILES['archivo']) ){
  echo 
'Ha habido un error, tienes que elegir un archivo<br/>';
  echo 
'<a href="index.php">Subir archivo</a>';
}else{
 
  
$nombre $_FILES['archivo']['name'];
  
$nombre_tmp $_FILES['archivo']['tmp_name'];
  
$tipo $_FILES['archivo']['type'];
  
$tamano $_FILES['archivo']['size'];
 
  
$ext_permitidas = array('xls','xlsx');
  
$partes_nombre explode('.'$nombre);
  
$extension end$partes_nombre );
  
$ext_correcta in_array($extension$ext_permitidas);
 
  
 
  
$limite 1000 1024;
 
  if( 
$ext_correcta  && $tamano <= $limite ){
    if( 
$_FILES['archivo']['error'] > ){
      echo 
'Error: ' $_FILES['archivo']['error'] . '<br/>';
    }else{
      
/*echo 'Nombre: ' . $nombre . '<br/>';
      echo 'Tipo: ' . $tipo . '<br/>';
      echo 'Tamaño: ' . ($tamano / 1024) . ' Kb<br/>';
      echo 'Guardado en: ' . $nombre_tmp;*/
 
      
if( file_exists'xls/'.$nombre) ){
        echo 
'<br/>El archivo '.$nombre.' ya existe.';
      }else{
        
move_uploaded_file($nombre_tmp,
          
"xls/" $nombre);
            
cargar_archivo($nombre);//AQUI MANDO LLAMAR LA FUNCION DE INSERCION
 
        /*echo "<br/>Guardado en: " . "xls/" . $nombre;*/
      
}
    }
  }else{
    echo 
'Archivo inválido, verifique el tamaño del archivo. No debe pasar de 1MB.';
  }

Y ESTE ES EL QUE SE SUPONE INSERTA EL EXCEL...
Código PHP:


require_once 'php/ext/PHPExcel-1.7.7/Classes/PHPExcel/IOFactory.php';
require_once 
'conexion/configuracion.inc.php';

function 
cargar_archivo($nombre){

                    
//cargamos el archivo que deseamos leer
                    
$objPHPExcel PHPExcel_IOFactory::load('xls/'.$nombre);
                    
//obtenemos los datos de la hoja activa (la primera)
                    
$objHoja=$objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
                    
//recorremos las filas obtenidas
                    
                    
                        
conectar(); // despues de conectar ya no se como
insertar las filas en el sql.... uso mssql... no las funciones sql regulares...