Importar de Excel a Mysql Con Php _ Programar en PHP

14
30/12/2015 Importar de excel a mysql con php | Programar En PHP https://programarenphp.wordpress.com/2011/06/06/importardeexcelamysqlconphp/ 1/14 Programar En PHP Programando en php, de forma sencilla… Importar de excel a mysql con php junio 6, 2011 Necesitas importar registros a tu base de datos desde Excel y ¿aún no sabes como hacerlo?, en este artículo te explico con un ejemplo sencillo como puedes hacerlo, así que no te pierdas este artículo y mejor aún léelo hasta el final. Te va ser muy útil cuando necesitas cargar datos que ya tienes almacenados en una hoja de Excel y que ahora necesitas insertarlos en tu base de datos, o bien necesitas jalar datos del mismo Excel para realizar cálculos en tu código, etc. muchos ejemplos donde necesites leer un documento en Excel. Pero bueno a ti te interesa el ejemplo y eso te voy a explicar ahorita, paso a paso: Primero: La base de datos que voy a utilizar para este ejemplo se llama: “escuela” y la tabla en la voy insertar los registros extraídos de Excel se llama “alumnos” y tiene los campos “(id, nocontrol, nombre, grado, grupo, sexo). Segundo: Necesitas descargar la Clase PHPExcel de Maarten Balliauw (tiene licencia LGPL), y la puedes descargar desde aquí http://www.codeplex.com/PHPExcel (http://www.codeplex.com/PHPExcel), o bien ya viene incluida en el ejemplo. Tercero: El siguiente código es el que hace el trabajo pesado, se encuentra comentado:

description

holas edu

Transcript of Importar de Excel a Mysql Con Php _ Programar en PHP

Page 1: Importar de Excel a Mysql Con Php _ Programar en PHP

30/12/2015 Importar de excel a mysql con php | Programar En PHP

https://programarenphp.wordpress.com/2011/06/06/importar­de­excel­a­mysql­con­php/ 1/14

Programar En PHPProgramando en php, de forma sencilla…

Importar de excel a mysql con php

junio 6, 2011

Necesitas importar registros a tu base de datosdesde Excel y ¿aún no sabes como hacerlo?, eneste artículo te explico con un ejemplo sencillocomo puedes hacerlo, así que no te pierdas esteartículo y mejor aún léelo hasta el final.

Te va ser muy útil cuando necesitas cargar datosque ya tienes almacenados en una hoja de Excel yque ahora necesitas insertarlos en tu base dedatos, o bien necesitas jalar datos del mismo Excelpara realizar cálculos en tu código, etc. muchos

ejemplos donde necesites leer un documento en Excel.

Pero bueno a ti te interesa el ejemplo y eso te voy a explicar ahorita, paso a paso:

Primero: La base de datos que voy a utilizar para este ejemplo se llama: “escuela” y la tabla enla voy insertar los registros extraídos de Excel se llama “alumnos” y tiene los campos “(id,nocontrol, nombre, grado, grupo, sexo).

Segundo: Necesitas descargar la Clase PHPExcel de Maarten Balliauw (tiene licencia LGPL), yla puedes descargar desde aquí http://www.codeplex.com/PHPExcel(http://www.codeplex.com/PHPExcel), o bien ya viene incluida en el ejemplo.

Tercero: El siguiente código es el que hace el trabajo pesado, se encuentra comentado:

<!– http://ProgramarEnPHP.wordpress.com (http://ProgramarEnPHP.wordpress.com) –>

Page 2: Importar de Excel a Mysql Con Php _ Programar en PHP

30/12/2015 Importar de excel a mysql con php | Programar En PHP

https://programarenphp.wordpress.com/2011/06/06/importar­de­excel­a­mysql­con­php/ 2/14

<!– http://ProgramarEnPHP.wordpress.com (http://ProgramarEnPHP.wordpress.com) –>

<head>

<meta http‑equiv=”Content‑Type” content=”text/html; charset=utf‑8″ />

<title>:: Importar de Excel a la Base de Datos ::</title>

</head>

<body>

<!– FORMULARIO PARA SOICITAR LA CARGA DEL EXCEL –>

Selecciona el archivo a importar:

<form name=”importa” method=”post” action=”<?php echo $PHP_SELF; ?>”enctype=”multipart/form‑data” >

<input type=”file” name=”excel” />

<input type=’submit’ name=’enviar’  value=”Importar”  />

<input type=”hidden” value=”upload” name=”action” />

</form>

<!– CARGA LA MISMA PAGINA MANDANDO LA VARIABLE upload –>

<?php

extract($_POST);

if ($action == “upload”){

//cargamos el archivo al servidor con el mismo nombre

//solo le agregue el sufijo bak_

$archivo = $_FILES[‘excel’][‘name’];

$tipo = $_FILES[‘excel’][‘type’];

$destino = “bak_”.$archivo;

if (copy($_FILES[‘excel’][‘tmp_name’],$destino)) echo “Archivo Cargado Con Éxito”;

else echo “Error Al Cargar el Archivo”;

////////////////////////////////////////////////////////

if (file_exists (“bak_”.$archivo)){

/** Clases necesarias */require_once(‘Classes/PHPExcel.php’);

Page 3: Importar de Excel a Mysql Con Php _ Programar en PHP

30/12/2015 Importar de excel a mysql con php | Programar En PHP

https://programarenphp.wordpress.com/2011/06/06/importar­de­excel­a­mysql­con­php/ 3/14

require_once(‘Classes/PHPExcel.php’);

require_once(‘Classes/PHPExcel/Reader/Excel2007.php’);

// Cargando la hoja de cálculo

$objReader = new PHPExcel_Reader_Excel2007();

$objPHPExcel = $objReader‑>load(“bak_”.$archivo);

$objFecha = new PHPExcel_Shared_Date();

// Asignar hoja de excel activa

$objPHPExcel‑>setActiveSheetIndex(0);

//conectamos con la base de datos

$cn = mysql_connect (“localhost”,”root”,”pass”) or die (“ERROR EN LA CONEXION”);

$db = mysql_select_db (“escuela”,$cn) or die (“ERROR AL CONECTAR A LA BD”);

// Llenamos el arreglo con los datos  del archivo xlsx

for ($i=1;$i<=47;$i++){

$_DATOS_EXCEL[$i][‘nocontrol’] = $objPHPExcel‑>getActiveSheet()‑>getCell(‘B’.$i)‑>getCalculatedValue();

$_DATOS_EXCEL[$i][‘nombre’] = $objPHPExcel‑>getActiveSheet()‑>getCell(‘C’.$i)‑>getCalculatedValue();

$_DATOS_EXCEL[$i][‘grado’]= $objPHPExcel‑>getActiveSheet()‑>getCell(‘D’.$i)‑>getCalculatedValue();

$_DATOS_EXCEL[$i][‘grupo’]= $objPHPExcel‑>getActiveSheet()‑>getCell(‘E’.$i)‑>getCalculatedValue();

$_DATOS_EXCEL[$i][‘sexo’] = $objPHPExcel‑>getActiveSheet()‑>getCell(‘F’.$i)‑>getCalculatedValue();

}

}

//si por algo no cargo el archivo bak_

else{echo “Necesitas primero importar el archivo”;}

$errores=0;

//recorremos el arreglo multidimensional

//para ir recuperando los datos obtenidos

Page 4: Importar de Excel a Mysql Con Php _ Programar en PHP

30/12/2015 Importar de excel a mysql con php | Programar En PHP

https://programarenphp.wordpress.com/2011/06/06/importar­de­excel­a­mysql­con­php/ 4/14

//para ir recuperando los datos obtenidos

//del excel e ir insertandolos en la BD

foreach($_DATOS_EXCEL as $campo => $valor){

$sql = “INSERT INTO alumnos VALUES (NULL,ʹ”;

foreach ($valor as $campo2 => $valor2){

$campo2 == “sexo” ? $sql.= $valor2.”‘);” : $sql.= $valor2.”‘,ʹ”;

}

$result = mysql_query($sql);

if (!$result){ echo “Error al insertar registro “.$campo;$errores+=1;}

}

/////////////////////////////////////////////////////////////////////////

echo “<strong><center>ARCHIVO IMPORTADO CON EXITO, EN TOTAL $campoREGISTROS Y $errores ERRORES</center></strong>”;

//una vez terminado el proceso borramos el

//archivo que esta en el servidor el bak_

unlink($destino);

}

?>

</body>

</html>

Cuarto: Te explico, lo primer

o es el formulario HTML que solicita el archivo a importar, luego una vez copiadocorrectamente el mismo en el servidor y gracias a la clase PHPExcel comenzamos a recorrerlo yobtener los datos del mismo hacia un arreglo multidimensional, ojo aquí se podría ir creando laconsulta sql para insertarlo en la BD, pero la idea de guardarlo en el arreglo es poder procesar,utilizar y/o calcular si lo fuese necesario con esos datos almacenados.

Ya una vez almacenado los datos en el arreglo ahora los utilizamos para pasarlos a la consultaque se encarga de insertar los datos.

Ups, me extendí un

poco en la explicación pero espero haberme explicado, igual da click aquí

Page 5: Importar de Excel a Mysql Con Php _ Programar en PHP

30/12/2015 Importar de excel a mysql con php | Programar En PHP

https://programarenphp.wordpress.com/2011/06/06/importar­de­excel­a­mysql­con­php/ 5/14

poco en la explicación pero espero haberme explicado, igual da click aquí(http://programarenphp.dysihosting.com/ejemplos/excelamysql.rar)para descargar el ejemplocompleto, incluyendo el documento en Excel del ejemplo, solo recuerda poner los datos deconexión del mysql tuyo.

Ahora si nos vemos en la próxima, espero te sea de mucha, mucha utilidad como a mí. Nodudes comentar o bien déjame tus dudas, yo dos veces por semana checo comentarios ycontesto los mas posibles.

Atte, tu amigo Salvador López

From → Avanzado

32 comentarios 1.  Carlos permalinkHola se ve bueno el tutorial, pero me sale este error: Acceso prohibido!

Usted no tiene permiso de accesar al objeto solicitado. El objeto está protegido contralectura, o no puede ser leido por el servidor.

Si usted cree que esto es un error del servidor, por favor comuníqueselo al administradordel portal.

Error 403

—‑ A que se debe esto???? Ayuda por favor

Responder2.  BRENDA MEZA permalinkMuchas gracias por el tutorial!!! Si funciona correctamente… solamente modificando en elarchivo php.ini en este pequeño codigo ;extension=php_zip.dll quitar el comentario “;” ylisto… me funciono a la primera!!! :D…

ResponderJan Carlos permalinkamiga podrias pasarme todo el archivo completo,es que me hace falta para mi proyectode sustentacion y lo necesito urgente

Responder

You May Like

1.

Acerca de estos anuncios (https://wordpress.com/about-these-ads/)

Page 6: Importar de Excel a Mysql Con Php _ Programar en PHP

30/12/2015 Importar de excel a mysql con php | Programar En PHP

https://programarenphp.wordpress.com/2011/06/06/importar­de­excel­a­mysql­con­php/ 6/14

Responder3.  Juan permalinkla aplicacion esta buena, solo que teine problemas con la ñ y los acentos, como se puedearreglar?

Responder4.  quero permalinkforeach($_DATOS_EXCEL as $campo => $valor){ $sql = “INSERT INTO alumnos VALUES (NULL,ʹ”; foreach ($valor as $campo2 => $valor2){ $campo2 == “sexo” ? $sql.= $valor2.”‘);” : $sql.= $valor2.”‘,ʹ”; } $result = mysql_query($sql); if (!$result){ echo “Error al insertar registro “.$campo;$errores+=1;} }

no tengo claro como funciona este insert….

Responder5.  David permalinkTuve que modificar un poco el codigo para que me dejara importar unos datos ( unos,porque solo me importa los 30 primeros, :S ).

¿No saben porque se da eso?y ¿como puedo importar totalmente el archivo?

Responder6.  @overloadxd permalinkexcelente funciono al toque, saludos.

Responder7.  @overloadxd permalinkexcelente, me anduvo al toque

buenisima opcion para traspasar datos

algun script para crear tablas desde php ma amigablemetne?

saludos.

Responder8.  Isma permalinkUna consulta, en esta parte del código le pones $i<=47, Hay alguna manera de saber cuantasfilas tengo con satos.. porque la cantidad de fila en los archivos siempre varia, las columnasen mi caso no. existe alguna función que haga eso?? porque sino inserta los datos y en todaslas que ʺsobranʺ arroja error de consulta… ademas si tienes como promedio 5000 filas parainsertar… es muy ineficiente poner 10.000, para que las inserte todas..

for ($i=1;$igetActiveSheet()‑>getCell(‘B’.$i)‑>getCalculatedValue(); $_DATOS_EXCEL[$i][‘nombre’] = $objPHPExcel‑>getActiveSheet()‑>getCell(‘C’.$i)‑>getCalculatedValue(); $_DATOS_EXCEL[$i][‘grado’]= $objPHPExcel‑>getActiveSheet()‑>getCell(‘D’.$i)‑>getCalculatedValue(); 

Page 7: Importar de Excel a Mysql Con Php _ Programar en PHP

30/12/2015 Importar de excel a mysql con php | Programar En PHP

https://programarenphp.wordpress.com/2011/06/06/importar­de­excel­a­mysql­con­php/ 7/14

>getCalculatedValue(); $_DATOS_EXCEL[$i][‘grupo’]= $objPHPExcel‑>getActiveSheet()‑>getCell(‘E’.$i)‑>getCalculatedValue(); $_DATOS_EXCEL[$i][‘sexo’] = $objPHPExcel‑>getActiveSheet()‑>getCell(‘F’.$i)‑>getCalculatedValue(); }

Responder9.  Andres Erazo ‑ Coordinador General ITSCS permalinkQue mas brothers, encontre la solucion a lo que buscaba no fue necesaria una funcion delPHPEXCEL sino un simple contador, hagan lo siguiente incluso el codigo funciona sinobjetos ojala les sirva de algo:

:: Importar de Excel a la Base de Datos ::

Estimado Usuario: Seleccione el archivo a importar: <form name=ʺimportaʺ method=ʺpostʺ action=ʺ” enctype=”multipart/form‑data” >

<?php extract($_POST); if ($action == ʺuploadʺ) //si action tiene como valor UPLOAD haga algo (el value de estehidden es es UPLOAD iniciado desde el value { //cargamos el archivo al servidor con el mismo nombre(solo le agregue el sufijo bak_) $archivo = $_FILES[ʹexcelʹ][ʹnameʹ]; //captura el nombre del archivo $tipo = $_FILES[ʹexcelʹ][ʹtypeʹ]; //captura el tipo de archivo (2003 o 2007)

$destino = ʺbak_ʺ.$archivo; //lugar donde se copiara el archivo

if (copy($_FILES[ʹexcelʹ][ʹtmp_nameʹ],$destino)) //si dese copiar la variable excel(archivo).nombreTemporal a destino (bak_.archivo) (si se ha dejado copiar) { echo ʺArchivo Cargado Con Exito”; } else { echo “Error Al Cargar el Archivo”; }

////////////////////////////////////////////////////////if (file_exists (“bak_”.$archivo)) //validacion para saber si el archivo ya existe previamente { /*INVOCACION DE CLASES Y CONEXION A BASE DE DATOS*/ /** Invocacion de Clases necesarias */ require_once(‘Classes/PHPExcel.php’); require_once(‘Classes/PHPExcel/Reader/Excel2007.php’); //DATOS DE CONEXION A LA BASE DE DATOS $cn = mysql_connect (“localhost”,”root”,””) or die (“ERROR EN LA CONEXION”); $db = mysql_select_db (“escuela”,$cn) or die (“ERROR AL CONECTAR A LA BD”);

// Cargando la hoja de calculo 

Page 8: Importar de Excel a Mysql Con Php _ Programar en PHP

30/12/2015 Importar de excel a mysql con php | Programar En PHP

https://programarenphp.wordpress.com/2011/06/06/importar­de­excel­a­mysql­con­php/ 8/14

// Cargando la hoja de calculo $objReader = new PHPExcel_Reader_Excel2007(); //instancio un objeto comoPHPExcelReader(objeto de captura de datos de excel) $objPHPExcel = $objReader‑>load(“bak_”.$archivo); //carga en objphpExcel por medio deobjReader,el nombre del archivo $objFecha = new PHPExcel_Shared_Date();

// Asignar hoja de excel activa $objPHPExcel‑>setActiveSheetIndex(0); //objPHPExcel tomara la posicion de hoja (en estacaso 0 o 1) con el setActiveSheetIndex(numeroHoja)

// Llenamos un arreglo con los datos del archivo xlsx $i=1; //celda inicial en la cual empezara a realizar el barrido de la grilla de excel $param=0; $contador=0; while($param==0) //mientras el parametro siga en 0 (iniciado antes) que quiere decir que noha encontrado un NULL entonces siga metiendo datos {

$nocontrol=$objPHPExcel‑>getActiveSheet()‑>getCell(‘B’.$i)‑>getCalculatedValue(); $nombre=$objPHPExcel‑>getActiveSheet()‑>getCell(‘C’.$i)‑>getCalculatedValue(); $grado=$objPHPExcel‑>getActiveSheet()‑>getCell(‘D’.$i)‑>getCalculatedValue(); $grupo=$objPHPExcel‑>getActiveSheet()‑>getCell(‘E’.$i)‑>getCalculatedValue(); $sexo=$objPHPExcel‑>getActiveSheet()‑>getCell(‘F’.$i)‑>getCalculatedValue();

$c=(“insert into alumnos values($i,$nocontrol,’$nombre’,’$grado’,’$grupo’,’$sexo’)”); mysql_query($c);

if($objPHPExcel‑>getActiveSheet()‑>getCell(‘A’.$i)‑>getCalculatedValue()==NULL)//pregunto que si ha encontrado un valor null en una columna inicie un parametro en 1 queindicaria el fin del ciclo while { $param=1; //para detener el ciclo cuando haya encontrado un valor NULL } $i++; $contador=$contador+1; } $totalIngresados=$contador‑1; //(porque se se para con un NULL y le esta registrando comoque tambien un dato) echo “Total elementos subidos: $totalIngresados “; } else//si no se ha cargado el bak { echo “Necesitas primero importar el archivo”;} unlink($destino); //desenlazar a destino el lugar donde salen los datos(archivo) }

?>

Responder

10.  Andres Erazo ‑ Coordinador General ITSCS permalink

Page 9: Importar de Excel a Mysql Con Php _ Programar en PHP

30/12/2015 Importar de excel a mysql con php | Programar En PHP

https://programarenphp.wordpress.com/2011/06/06/importar­de­excel­a­mysql­con­php/ 9/14

10.  Andres Erazo ‑ Coordinador General ITSCS permalinkMuchas gracias eres un Dios, el ejemplo funciono perfectamente, solo tengo una duda, en elejemplo solo importa hasta 47 registros, claro me doy cuenta que la cosa esta en el for quecaptura los datos, pero supon el caso en que no se cuantos registros tengo, hay algunamanera de saber cuantos registros escritos existen en el excel para luego ese valorcapturarlo en un parametro y que este sea el limite del for, asi no sera necesario saber delusuario cuantos registros esta subiendo. Muchas gracias por el aporte y ayudame a ver si sehalla solucion para esta otra situacion que te cuento.

Responder11.  Marco permalink

Hola, muy bueno el tutorial. Me pregunto si conoces alguna manera de que verifique si undato en la base de datos ya existe. Que este no se guarde pero se continue con los demas.

Responder12.  jusernt permalink

aunque ya hay algunos metodos para cargar excel a mysql, la data no siempre es la mismapara todos. Va a servir bastante tu POST, me diste otro camino y parece bueno ^^, graciaspor el aporte y por compartirlo

Sldos.

Responder13.  @r@ permalink

Hola gracias por el aporte, pero cuando quiero cargar mas de 6 campos en mi bd no sepuede marca error, si hago una importacion de no mas de 5 campos lo hace bien, despuesdel 5 ya no funciona marca error!!1

Responder14.  Ara permalink

hola gracias por el aporte pero me genera los siguientes errore

Warning: copy(bak_a_importar.xlsx) [function.copy]: failed to open stream: Permissiondenied in /home *Warning: Invalid argument supplied for foreach() in /home *ARCHIVO IMPORTADO CON EXITO, EN TOTAL REGISTROS Y 0 ERRORES

Warning: unlink(bak_a_importar.xlsx) [function.unlink]: No such file or directory in /home

Responder15.  crashmetal permalink

Hay problemas con la subida del Archivo Excel, aca les dejo el codigo correspondiente y elque ocupo yop:

$status = “”; if ($_POST[“action”] == “upload”) { // obtenemos los datos del archivo $tamano = $_FILES[“archivo”][‘size’]; 

$tipo = $_FILES[“archivo”][‘type’]; 

Page 10: Importar de Excel a Mysql Con Php _ Programar en PHP

30/12/2015 Importar de excel a mysql con php | Programar En PHP

https://programarenphp.wordpress.com/2011/06/06/importar­de­excel­a­mysql­con­php/ 10/14

$tipo = $_FILES[“archivo”][‘type’]; $archivo = $_FILES[“archivo”][‘name’]; $prefijo = substr(md5(uniqid(rand())),0,6);

if ($archivo != “”) { // guardamos el archivo a la carpeta files $destino = $archivo; if (copy($_FILES[‘archivo’][‘tmp_name’],$destino)) { $status = “Archivo subido: “.$archivo.”“; } else { $status = “Error al subir el archivo”; } } else { $status = “Error al subir archivo”; } }

PD: El form ejecutenlo en un HTML y el este Codigo en un PHP para que funcione comocorresponde. Saludos

Responder16.  Martín Indico permalink

Hola: He logrado subir con éxito el archivo, y la base de datos la he creado como se indicaen el manual, pero al momento de que comienza el proceso de importación a la base dedatos obtengo los siguiente errores:

Selecciona el archivo a importar:

Archivo Cargado Con Éxito

Warning: ZipArchive::getFromName() [ziparchive.getfromname]: Invalid or unitialized Zipobject in /home/hostingp/public_html/2mysql/Classes/PHPExcel/Reader/Excel2007.php online 300

Warning: ZipArchive::getFromName() [ziparchive.getfromname]: Invalid or unitialized Zipobject in /home/hostingp/public_html/2mysql/Classes/PHPExcel/Reader/Excel2007.php online 303

Warning: Invalid argument supplied for foreach() in/home/hostingp/public_html/2mysql/Classes/PHPExcel/Reader/Excel2007.php on line 373

Warning: ZipArchive::getFromName() [ziparchive.getfromname]: Invalid or unitialized Zipobject in /home/hostingp/public_html/2mysql/Classes/PHPExcel/Reader/Excel2007.php online 300

Warning: ZipArchive::getFromName() [ziparchive.getfromname]: Invalid or unitialized Zipobject in /home/hostingp/public_html/2mysql/Classes/PHPExcel/Reader/Excel2007.php online 303

Warning: Invalid argument supplied for foreach() in/home/hostingp/public_html/2mysql/Classes/PHPExcel/Reader/Excel2007.php on line 410Warning: ZipArchive::close() [ziparchive.close]: Invalid or unitialized Zip object in

Page 11: Importar de Excel a Mysql Con Php _ Programar en PHP

30/12/2015 Importar de excel a mysql con php | Programar En PHP

https://programarenphp.wordpress.com/2011/06/06/importar­de­excel­a­mysql­con­php/ 11/14

Warning: ZipArchive::close() [ziparchive.close]: Invalid or unitialized Zip object in/home/hostingp/public_html/2mysql/Classes/PHPExcel/Reader/Excel2007.php on line 1526

Fatal error: Uncaught exception ‘Exception’ with message ‘Active sheet index is out ofbounds.’ in /home/hostingp/public_html/2mysql/Classes/PHPExcel.php:365 Stack trace: #0/home/hostingp/public_html/2mysql/importar.php(39): PHPExcel‑>setActiveSheetIndex(0)#1 {main} thrown in /home/hostingp/public_html/2mysql/Classes/PHPExcel.php on line 365

¿Que es lo que he hecho mal? todo está como indica el manual pero tengo estos errores, porfacvor, necesito ayuda para solucionarlo.

Gracias por tus respuesta.

Responderprogramarenphp permalinkHola Martín, la ultima vez que utiliza esta librería me tope con el mismo error y existendos soluciones; la primera es modificar algunas lineas del php.ini (que ahorita norecuerdo) y la segunda (que yo utilice) fue la de cambiar de versión de PHP a una masnueva y con eso en automático se soluciono el problema. Gracias por tu visita, pero esteblog ya solo lo visito dos veces al mes, el que se encuentra activo es el dehttp://AprendeAprogramarEnPHPya.com/blog

ResponderKunyaro permalinktengo la ultima version del php y el problema persiste saludos

shirley permalinkHola el promeba es que tienes Word 2003 y este ejemplo funciona con el 2007

Responder17.  Edwin permalink

gracias por el codigo pero me sale el siguiente error:

Fatal error: Class ‘ZipArchive’ not found inD:\AppServ\www\excelamysql\Classes\PHPExcel\Reader\Excel2007.php on line 368

esperando tu pronta respuesta

Atentamente Edwin

Responderprogramarenphp permalinkHola Edwin, la ultima vez que utiliza esta librería me tope con el mismo error y existendos soluciones; la primera es modificar algunas lineas del php.ini (que ahorita norecuerdo) y la segunda (que yo utilice) fue la de cambiar de versión de PHP a una masnueva y con eso en automático se soluciono el problema. Gracias por tu visita, pero esteblog ya solo lo visito dos veces al mes, el que se encuentra activo es el dehttp://AprendeAprogramarEnPHPya.com/blog

Responder

Nicanor permalink

Page 12: Importar de Excel a Mysql Con Php _ Programar en PHP

30/12/2015 Importar de excel a mysql con php | Programar En PHP

https://programarenphp.wordpress.com/2011/06/06/importar­de­excel­a­mysql­con­php/ 12/14

Nicanor permalinkla version valida de php debe ser PHP 5 >= 5.2.0 normalmente la extension php_zip.dll debe de esta liberado si no es asi modifique elphp.ini sacando el “;”. y debe quedar asi

extension=php_zip.dll

Responder18.  Constanza Navarro permalink

A mí tb me da error, cargo el archivo excel y aparece un error que dice Class ‘ZipArchive’not found inC:\AppServ\www\importarDatos\Classes\PHPExcel\Reader\Excel2007.php on line 368

Responder19.  Luciano permalink

hola mira tengo el siguiente problema

Notice: Undefined variable: action in C:\xampp\htdocs\excelamysql\importar.php on line19 (esto me lo muestra en importar.php)

y este cuando hago click en importar

http://localhost/excelamysql/%3Cbr%20/%3E%3Cb%3ENotice%3C/b%3E:%20%20Undefined%20variable:%20PHP_SELF%20in%20%3Cb%3EC:%5Cxampp%5Chtdocs%5Cexcelamysql%5Cimportar.php%3C/b%3E%20on%20line%20%3Cb%3E10%3C/b%3E%3Cbr%20/%3E

¡Objeto no encontrado!

El enlace requerido no ha sido localizado en este servidor. El enlace en la página referenteparece tener algun error o ha expirado. Por favor comunique al autor de la página el error.

Por favor contacte con el webmaster en caso de que usted crea que existe un error en elservidor. Error 404 localhost 09/10/2011 08:06:54 p.m. Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o PHP/5.3.4 mod_perl/2.0.4Perl/v5.10.1

Agradeceria tu respuesta a la brevedad .. muy bueno el tutorial por cierto , un abrazo

ResponderJuan permalinkLes cuento que el error que te sale es por la variable $action, que no esta definida ya que$PHP_SELF esta obsoleta, en la parte <form name=ʺimportaʺ method=ʺpostʺ action=ʺ” enctype=”multipart/form‑data” >Cambiar esa variable por $_SERVER[‘PHP_SELF’]. Aunque sigue saliendo el Notice, laimportacion es exitosa.

ResponderEsteban permalink

Como quedaria entonces o donde se cambia??? por que lo puse asi <form

Page 13: Importar de Excel a Mysql Con Php _ Programar en PHP

30/12/2015 Importar de excel a mysql con php | Programar En PHP

https://programarenphp.wordpress.com/2011/06/06/importar­de­excel­a­mysql­con­php/ 13/14

Como quedaria entonces o donde se cambia??? por que lo puse asi <formname=ʺimportaʺ method=ʺpostʺ action=ʺ” enctype=”multipart/form‑data” > y nisiquiera me importa nada te lo agradeceria si me respondieras

20.  Lionel permalinkYo tengo elk mismos erro que ale sale ese mensaje y encima no carga en la base de datos

Responder21.  David permalink

Para los que tienen el error de “Archivo Cargado Con ÉxitoError al insertar registro 1Erroral insertar registro 2Error al insertar registro 3 ARCHIVO IMPORTADO CON EXITO, ENTOTAL 3 REGISTROS Y 3 ERRORES” tienen que hacer 2 cosas: Primero habilitar php.ini la sentencia ;extension=php_zip.dll que esta con “;” , borrarlo yreiniciar apache. Segundo al crear la tabla alumnos con los campos (id, nocontrol, nombre, grado, grupo,sexo), no se olviden que id tiene que ser int, primary key, autoincrement, con eso les da full.

Responder22.  Marcos Reyes permalink

me perdi aqui

foreach($_DATOS_EXCEL as $campo => $valor){

$sql = “INSERT INTO alumnos VALUES (NULL,’”;

foreach ($valor as $campo2 => $valor2){

$campo2 == “sexo” ? $sql.= $valor2.”‘);” : $sql.= $valor2.”‘,’”;

}

$result = mysql_query($sql);

if (!$result){ echo “Error al insertar registro “.$campo;$errores+=1;}

}

//////////////////

pero bueno analizare bien, una duda se puede dar formato a las celdas al momento deimportar ? ejemplo yo tengo en una celda con datoa tipo time tamp y les tengo que dar un formato asipara poder insetarlos en el mysql aaaa‑dd‑mm HH:MM:ss

Responder23.  ale permalink

Hola!!!! muchas gracias por el tutorial, esta muy bueno pero sabes que me da error en laparte de insertar los archivos a la bd, gracias de antemano!!!! error:

Archivo Cargado Con ÉxitoError al insertar registro 1Error al insertar registro 2Error al

Page 14: Importar de Excel a Mysql Con Php _ Programar en PHP

30/12/2015 Importar de excel a mysql con php | Programar En PHP

https://programarenphp.wordpress.com/2011/06/06/importar­de­excel­a­mysql­con­php/ 14/14

Archivo Cargado Con ÉxitoError al insertar registro 1Error al insertar registro 2Error alinsertar registro 3 ARCHIVO IMPORTADO CON EXITO, EN TOTAL 3 REGISTROS Y 3ERRORES

ResponderIsma permalinkes por:$i<=47

for ($i=1;$igetActiveSheet()‑>getCell(‘B’.$i)‑>getCalculatedValue(); $_DATOS_EXCEL[$i][‘nombre’] = $objPHPExcel‑>getActiveSheet()‑>getCell(‘C’.$i)‑>getCalculatedValue(); $_DATOS_EXCEL[$i][‘grado’]= $objPHPExcel‑>getActiveSheet()‑>getCell(‘D’.$i)‑>getCalculatedValue(); $_DATOS_EXCEL[$i][‘grupo’]= $objPHPExcel‑>getActiveSheet()‑>getCell(‘E’.$i)‑>getCalculatedValue(); $_DATOS_EXCEL[$i][‘sexo’] = $objPHPExcel‑>getActiveSheet()‑>getCell(‘F’.$i)‑>getCalculatedValue(); }

ese numero no es exacto… es mayor a la cantidad de filas que tienes para insertar

Responder

Crea un blog o un sitio web gratuitos con WordPress.com. | El tema Titan.