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'] > 0 ){
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.';
}
}
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...