Foros del Web » Programando para Internet » PHP »

subir archivo excel a carpeta de servidor y guardar datos en mysql

Estas en el tema de subir archivo excel a carpeta de servidor y guardar datos en mysql en el foro de PHP en Foros del Web. hola, buenas tardes. necesito ayuda en lo siguiente. Quiero subir un archivo excel. a una carpeta de la pagina web, y guardar os datos del ...
 
Antiguo 15/07/2013, 13:30
 
Fecha de Ingreso: junio-2013
Ubicación: santiago
Mensajes: 34
Antigüedad: 12 años, 7 meses
Puntos: 0
subir archivo excel a carpeta de servidor y guardar datos en mysql

hola, buenas tardes.

necesito ayuda en lo siguiente.

Quiero subir un archivo excel. a una carpeta de la pagina web, y guardar os datos del archivo excel en la base de datos mysql.

alguien tiene algun conocimiento sobre esto.

Gracias
 
Antiguo 15/07/2013, 14:13
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 17 años, 8 meses
Puntos: 528
Respuesta: subir archivo excel a carpeta de servidor y guardar datos en mysql

Claro. Si quieres sugerencias, comienza por investigar sobre la librería phpexcel de codeplex. Si quieres que te hagan el trabajo, puedes poner una propuesta de empleo.
 
Antiguo 15/07/2013, 14:48
 
Fecha de Ingreso: junio-2013
Ubicación: santiago
Mensajes: 34
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: subir archivo excel a carpeta de servidor y guardar datos en mysql

Eso hize investigue sobre phpexcel y estoy traando de incorporarlo pero no me carga el archivo me aparece error time_out y que la pagina no se a podido encontrar.

este el el codigo que estoy usando para subir el archivo y guardar en la base de datos

<!-- 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');
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","colibri","Colibri1232") or die ("ERROR EN LA CONEXION");
$db = mysql_select_db ("ohl_db",$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
//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 $campo REGISTROS Y $errores ERRORES</center></strong>";
//una vez terminado el proceso borramos el
//archivo que esta en el servidor el bak_
unlink($destino);
}

?>
</body>
</html>

Etiquetas: carpeta, excel, mysql, servidor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta



La zona horaria es GMT -6. Ahora son las 13:43.