crinfo Posted July 9, 2010 Report Share Posted July 9, 2010 hola a todos los del foro, les queria pedir un favor, lo q pasa q encontre un script en php, donde un excell cualquiera lo importa a php, mi idea tambien q pueda ser generado a una tabla, es decir recuperar los valores q se importa del excel le adjunto el script.. la vdd soy novato en esto de php re100 llevo como 2 semanas aprendiendo, necesito q un excell se muestre, como en el archivo adjunto example2.php y se pueda agregar a una tabla poniendo 2 campo o dependiendo del excell ingresado. porfa alguien sabe como se puede hacer, he intentado de todo con este script, pero solo me muestra un excell de ejemplo de forma estatica. porfa ayudenme pliss.... http://www.megaupload.com/?d=TV4JVLQ2 http://rapidshare.com/files/405876184/Nueva_carpeta.rar saludosss Link to comment Share on other sites More sharing options...
alvaroxz Posted July 9, 2010 Report Share Posted July 9, 2010 :nopuedeser: google cumpita... http://www.cristalab.com/tips/abrir-y-leer...on-php-c38945l/ Link to comment Share on other sites More sharing options...
crinfo Posted July 9, 2010 Author Report Share Posted July 9, 2010 ese mismo toy ocupando, lo modifique porq tenia unos pequeños problemas el codigo, pero viene de forma estatica, es decir con ese nombre q viene el excel solo se puede leer. si bajan los link q adjunte es el mismo de la pagina de arriba, pero solo lee, un excel con el nombre q aparece hay. pucha necesito q pueda ser de forma dinamica alguien me pude ayudar, onda q lea cualquier excel con nombre distinto sin necesidad q tenga ese mismo nombre saludos... Link to comment Share on other sites More sharing options...
alvaroxz Posted July 9, 2010 Report Share Posted July 9, 2010 (edited) a mi me pesca cualquiera... See that: Porfavor expone tu codigo con esta libreria para ver que onda... Edited July 9, 2010 by alvaroxz Link to comment Share on other sites More sharing options...
crinfo Posted July 9, 2010 Author Report Share Posted July 9, 2010 no si ta bn, pero en el read le tienes q pasar el nombre del archivo.. yo dijo q sea de forma dinamica, es decir, creo un formulario y haga q el usuario eliga un archivo escell y lo muestre, pero hay va a depender del read, le nombre q tenga, es decir si una persona sube hola.xls, no lo va a leer, tendria q cambiarle el read como hola.xls, de forma manual saludos... oajala se haya entendido lo q quise decir xD Link to comment Share on other sites More sharing options...
alvaroxz Posted July 10, 2010 Report Share Posted July 10, 2010 (edited) no si ta bn, pero en el read le tienes q pasar el nombre del archivo.. yo dijo q sea de forma dinamica, es decir, creo un formulario y haga q el usuario eliga un archivo escell y lo muestre, pero hay va a depender del read, le nombre q tenga, es decir si una persona sube hola.xls, no lo va a leer, tendria q cambiarle el read como hola.xls, de forma manual saludos... oajala se haya entendido lo q quise decir xD no man estas equivocado... te doi un ejemplo... EDITE UN POCO EL CODIGO, EL ANTERIOR ESTABA "MALO". <?php //CAMBIAR $dir = "miDir/"; //direccion de tus archivos excel... $totalColumnas = 5; //Numero total de columnas a mostrar (A,B,C..) $totalFilas = 5; //Numero total de filas a mostrar (1, 2, 3...) //FIN CAMBIAR //No cambiar de aca para abajo require_once 'Excel/reader.php'; $excel = $_GET['file']; if($excel == ""){ if($dh = opendir($dir)){ while (($file = readdir($dh)) !== false){ if($file != "." && $file != ".."){ $file2 = "$dir$file"; echo 'Leer archivo excel: <a href="?file='.$file2.'">'.$file.'</a><br/>'; } } closedir($dh); } } else{ if(file_exists($excel)){ $ext = str_replace(strrev(strstr(strrev($excel), ".")), "", $excel); if($ext == "xls" || $ext == "xlsx"){ $data = new Spreadsheet_Excel_Reader(); $data->setOutputEncoding('CP1251'); $data->read($excel); for($i=1; $i<=$totalColumnas; $i++){ for($j=1;$j<=$totalFilas; $j++){ echo "[Columna: <b>$i</b>, Fila: <b>$j</b>] = ".$data->sheets[0]['cells'][$j][$i]."<br/>"; } } } else{ echo "El archivo no es excel"; } } else{ echo "El archivo no existe"; } } ?> Prueba con eso... te deberia correr dinamicamente.... Edited July 11, 2010 by alvaroxz Link to comment Share on other sites More sharing options...
crinfo Posted July 12, 2010 Author Report Share Posted July 12, 2010 no si ta bn, pero en el read le tienes q pasar el nombre del archivo.. yo dijo q sea de forma dinamica, es decir, creo un formulario y haga q el usuario eliga un archivo escell y lo muestre, pero hay va a depender del read, le nombre q tenga, es decir si una persona sube hola.xls, no lo va a leer, tendria q cambiarle el read como hola.xls, de forma manual saludos... oajala se haya entendido lo q quise decir xD no man estas equivocado... te doi un ejemplo... EDITE UN POCO EL CODIGO, EL ANTERIOR ESTABA "MALO". <?php //CAMBIAR $dir = "miDir/"; //direccion de tus archivos excel... $totalColumnas = 5; //Numero total de columnas a mostrar (A,B,C..) $totalFilas = 5; //Numero total de filas a mostrar (1, 2, 3...) //FIN CAMBIAR //No cambiar de aca para abajo require_once 'Excel/reader.php'; $excel = $_GET['file']; if($excel == ""){ if($dh = opendir($dir)){ while (($file = readdir($dh)) !== false){ if($file != "." && $file != ".."){ $file2 = "$dir$file"; echo 'Leer archivo excel: <a href="?file='.$file2.'">'.$file.'</a><br/>'; } } closedir($dh); } } else{ if(file_exists($excel)){ $ext = str_replace(strrev(strstr(strrev($excel), ".")), "", $excel); if($ext == "xls" || $ext == "xlsx"){ $data = new Spreadsheet_Excel_Reader(); $data->setOutputEncoding('CP1251'); $data->read($excel); for($i=1; $i<=$totalColumnas; $i++){ for($j=1;$j<=$totalFilas; $j++){ echo "[Columna: <b>$i</b>, Fila: <b>$j</b>] = ".$data->sheets[0]['cells'][$j][$i]."<br/>"; } } } else{ echo "El archivo no es excel"; } } else{ echo "El archivo no existe"; } } ?> Prueba con eso... te deberia correr dinamicamente.... pucha q soy pavo pa esto, pero ese codigo donde lo pongo, en el example.php. example2.php, porq si creo un codigo desde cero, no me aparece para donde tiene q ir direccionado a algunos de esos 2. porfa no tienes los archivos, q los puedas subir a megaupload o algo asi pa cachar mejor... pucha disculpa por sr tan noob en esto de php.. ojala no te enojes xD... saludos Link to comment Share on other sites More sharing options...
alvaroxz Posted July 13, 2010 Report Share Posted July 13, 2010 Es solo una prueba haz un archivo aparte y testealo... Link to comment Share on other sites More sharing options...
crinfo Posted July 14, 2010 Author Report Share Posted July 14, 2010 no me funciono :(... mira te muestro el codigo q hice index.php: <html> <head> <title>Upload de archivo excell</title> <script language="javascript" type="text/javascript"> function validar() { var form = document.form; if(form.nom.value == 0) { alert("Ingrese un nombre porfavor"); form.nom.value=""; form.nom.focus(); return false; } document.form.submit(); } </script> </head> <body> <table width="400" align="center"> <div> <form name="form" action="hola.php" method="post" enctype="multipart/form-data"> <h3 align="center">Ingrese el Nombre y el Archivo</h3> <tr> <td>Nombre del Archivo</td> <br /> <td><input type="text" name="nom"</td> </tr> <tr> <td>Seleccione el archivo Excel</td> <td><input type="file" name="excel"</td> </tr> <br /> <tr> <td align="justify"> <input type="button" value="Enviar Archivo" title="Enviar Archivo" onClick="validar();" /> </td> </tr> </form> </div> </table> </body> </html> aca ta el hola.php que es el que tu me dijiste xD: <?php //CAMBIAR $dir = $_FILES["excel"]["tmp_name"]; //direccion de tus archivos excel... $totalColumnas = 20; //Numero total de columnas a mostrar (A,B,C..) $totalFilas = 20; //Numero total de filas a mostrar (1, 2, 3...) //FIN CAMBIAR //No cambiar de aca para abajo require_once 'Excel/reader.php'; $excel = $_GET['file']; if($excel == ""){ if($dh = opendir($dir)){ while (($file = readdir($dh)) !== false){ if($file != "." && $file != ".."){ $file2 = "$dir$file"; echo 'Leer archivo excel: <a href="?file='.$file2.'">'.$file.'</a><br/>'; } } closedir($dh); } } else{ if(file_exists($excel)){ $ext = str_replace(strrev(strstr(strrev($excel), ".")), "", $excel); if($ext == "xls" || $ext == "xlsx"){ $data = new Spreadsheet_Excel_Reader(); $data->setOutputEncoding('CP1251'); $data->read($excel); for($i=1; $i<=$totalColumnas; $i++){ for($j=1;$j<=$totalFilas; $j++){ echo "[Columna: <b>$i</b>, Fila: <b>$j</b>] = ".$data->sheets[0]['cells'][$j][$i]."<br/>"; } } } else{ echo "El archivo no es excel"; } } else{ echo "El archivo no existe"; } } ?> y al ejecutar eso me aparece el siguiente error: Warning: opendir(C:\WINDOWS\Temp\php21.tmp) [function.opendir]: failed to open dir: Result too large in C:\AppServ\www\Nueva_carpeta\hola.php on line 16 porfa ayudenme plisss, q todavia me falta lo mas dificil, pasar ese excel q lo reconoce a una tabla en la BD xD Link to comment Share on other sites More sharing options...
alvaroxz Posted July 14, 2010 Report Share Posted July 14, 2010 (edited) cumpita es un test. no lo adecues a tu archivo cambia la variable $dir por un directorio donde alojes TODOS TUS EXCEL!!!!!!!!!! por ejemplo $dir = "misExcel/"; GUARDA TODOS TUS EXCEL EN ESA CARPETA Y LUEGO ARRANCA EL SCRIPT QUE TE MANDE PARA QUE VEAS COMO FUNCIONA!!!!!!!!!!!!!!!!!!!!... Edited July 14, 2010 by alvaroxz Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now