Jump to content

problema con importar un excel a una BD


Recommended Posts

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

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

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

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 by alvaroxz
Link to comment
Share on other sites

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

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

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 by alvaroxz
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...