Estoy trabajando con la libreria PHPExcel para cargar una planilla excel a una base de datos mysql a través de PHP, pero cuando la ejecuto y cargo la planilla para que la suba a la base de datos me lanza el siguiente error
"Fatal error: Class 'PHPExcel_Reader_Excel2007' not found in C:\wamp\www\proyecto\cargar.php on line 47"
Siendo que la libreria que pide la tengo cargada en mi código. Ojala me puedan ayudar con este problema.
Saludos
Código PHP:
Ver original
<?php $ciudad = $_POST['nombre_cdd']; ?> <html><head> <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /> <title>:: Importar de Excel a la Base de Datos ::</title> </head> <div> <strong><center>Ciudad seleccionada <?php echo "$ciudad[0]"; ?></center></strong><br> Antes de actualizar primero debe descargar la planilla estandar desde <a href="descarga/ruta_senales.xlsx">AQUÍ</a> </div> <body> <!-– FORMULARIO PARA SOICITAR LA CARGA DEL EXCEL -–> <p><br> Selecciona el archivo a importar: <form name="importa" method="post" action="<?php $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 if ($action == "upload"){ //cargamos el archivo al servidor con el mismo nombre //solo le agregue el sufijo temp_ $archivo = $_FILES['excel']['name']; $tipo = $_FILES['excel']['type']; $destino = "temp_".$archivo; echo "Archivo Cargado Con Éxito"; }else{ echo "Error Al Cargar el Archivo"; } //////////////////////////////////////////////////////// /** Clases necesarias */ 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($destino); $objFecha = new PHPExcel_Shared_Date(); // Asignar hoja de excel activa $objPHPExcel->setActiveSheetIndex(0); //contamos la cantidad de celdas con datos $Contar = $objPHPExcel->setActiveSheetIndex(0)->getHighestRow(); //se almacena el nombre de la ciudad seleccionada para posterior insercion en la tabla canal $city = "SELECT id_ciudad FROM ciudad WHERE nombre_ciudad = '$ciudad[0]'"; //conectamos con la base de datos //varaible del id_canal para comparacion $comparar = "Select nombre_canal, ciudad_id_ciudad FROM ciudad ORDER BY id_ciudad ASC"; // Llenamos el arreglo con los datos del archivo xlsx for ($i=4;$i=$Contar;$i++){ $_DATOS_EXCEL[$i]['Numero'] = $objPHPExcel->getActiveSheet()->getCell('B'.$i)->getCalculatedValue(); $_DATOS_EXCEL[$i]['Nombre'] = $objPHPExcel->getActiveSheet()->getCell('C'.$i)->getCalculatedValue(); : : $_DATOS_EXCEL[$i]['Frecuencia'] = $objPHPExcel->getActiveSheet()->getCell('BF'.$i)->getCalculatedValue(); $_DATOS_EXCEL[$i]['Mpeg Salida'] = $objPHPExcel->getActiveSheet()->getCell('BG'.$i)->getCalculatedValue(); } } //si por algo no cargo el archivo temp_ else{ echo "Necesitas primero importar el archivo"; } $errores=0; //recorremos el arreglo multidimensional //para ir recuperando los datos obtenidos //del excel e ir insertandolos en la BD foreach($_DATOS_EXCEL as $campo){ if( ($nt['nombre_canal'] && $nt['ciudad_id_ciudad']) == ($campo["Nombre"] && $campo["Numero"]) ){ $sql = "UPDATE canal SET (".$campo["Numero"].",'".$campo["Nombre"]."','".$campo["Tipo Recepcion"]."','".$campo["Modelo Receptor"]."','".$campo["Ubicacion Rack"]."','".$campo["Parametro Satelital"]."',".$campo["UA Receptor"].",'".$campo["Posicion patch"]."','".$campo["Ubicacion fibra"]."','".$campo["Ubicacion Rack"]."','".$campo["Salida Señal"]."');"; }else{ //insercion en tabla canal $sql = "INSERT INTO canal VALUES (NULL,".$city.",NULL,".$campo["Numero"].",'".$campo["Nombre"]."','".$campo["Tipo Recepcion"]."','".$campo["Modelo Receptor"]."','".$campo["Ubicacion Rack"]."','".$campo["Parametro Satelital"]."',".$campo["UA Receptor"].",'".$campo["Posicion patch"]."','".$campo["Ubicacion fibra"]."','".$campo["Ubicacion Rack"]."','".$campo["Salida Señal"]."');"; echo "<BR>** $sql"; } //variable para almacenar el ultimo registro ID insertado $fk_canal = "SELECT LAST_INSERT_ID();"; //insercion en tabla encoder $sql2 = "INSERT INTO encoder VALUES (NULL,".$fk_canal.",'".$campo["Modelo"]."','".$campo["Ubicacion Rack"]."','".$campo["Entrada"]."','".$campo["Salida"]."',".$campo["Mpeg Out"].");"; echo "<BR>** $sql2"; //insercion en tabla splitter $sql3 = "INSERT INTO splitter VALUES (NULL,".$fk_canal.",'".$campo["Numero"].",'".$campo["Slot"]."','".$campo["Puerto IN"]."','".$campo["Ubicacion Rack"]."');"; echo "<BR>** $sql3"; //insercion en tabla tmx $sql4 = "INSERT INTO tmx VALUES (NULL,".$fk_canal.",'".$campo["Numero"].",".$campo["Nro splitter"].",'".$campo["Slot splitter"]."','".$campo["Puerto splitter"]."',".$campo["RIM"].",".$campo["ASI IN"].",".$campo["Mpeg in"].",".$campo["ROM"].",".$campo["ASI Out"].",".$campo["Mpeg Out"].",'".$campo["Ubicacion Rack"]."');"; echo "<BR>** $sql4"; //insercion en tabla agb $sql5 = "INSERT INTO agb VALUES (NULL,".$fk_canal.",'".$campo["Ubicacion rack"]."',".$campo["Numero AGB"]."',".$campo["Nro splitter"].",'".$campo["Slot splitter"]."','".$campo["Puerto splitter"]."',".$campo["ASI Port"].",'".$campo["Multicast primario"]."',".$campo["UDP Primario"].",'".$campo["Source Primario"]."','".$campo["Multicast Backup"]."',".$campo["UDP Backup"].",'".$campo["Source Backup"]."');"; echo "<BR>** $sql5"; //insercion en tabla cap $sql6 = "INSERT INTO cap VALUES (NULL,".$fk_canal.",'".$campo["Ubicacion rack"]."','".$campo["Numero CAP"]."','".$campo["TS"]."',".$campo["PID PMT"].",".$campo["PID Video"].",".$campo["PID Audio 1"].",".$campo["PID Audio 2"].",".$campo["PID Subtitulado(spa)"].",".$campo["PID Subtitulado(por)"].");"; echo "<BR>** $sql6"; //insercion en tabla sem_apex $sql7 = "INSERT INTO sem_apex VALUES (NULL,".$fk_canal.",'".$campo["Ubicacion rack"]."','".$campo["IP admin"]."','".$campo["IP giga"]."','".$campo["QAM"]."',".$campo["Nro Canal"].",'".$campo["Frecuencia"]."',".$campo["Mpeg Salida"].");"; echo "<BR>** $sql7"; if (!$result){ $errores++; } //se limpa la variable $fk_canal para el nuevo registro } ///////////////////////////////////////////////////////////////////////// echo "<strong><center>ARCHIVO IMPORTADO CON EXITO, EN TOTAL " .$campo. " REGISTROS Y " .$errores. " ERRORES</center></strong>"; //una vez terminado el proceso borramos el //archivo que esta en el servidor el temp_ } ?> </body></html>