Gracias yo probé esa aplicación en otra ocasión. Pero en sí lo que necesito es por medio de un formulario. Un ejemplo como este:
Código PHP:
Ver original<HTML>
<head>
<meta http-equiv= "Content-Type" content="text/html; charset=utf-8" />
<title>::Notas ::</title>
</head>
<body>
<?php
include "config.php";
if (!$link){
}
if(!$_POST) {
?>
<!– FORMULARIO PARA SOICITAR LA CARGA DEL EXCEL –>
Selecciona el archivo a importar:
<form name="importa" method= "post" action="<?php $_SERVER['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
}else{
$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";
////////////////////////////////////////////////////////
/** 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);
$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 no ha encontrado un NULL entonces siga metiendo datos
{
for ($i=1;$i<=47;$i++){
$primer=$objPHPExcel->getActiveSheet()->getCell('B'.$i)->getCalculatedValue();
$segundo=$objPHPExcel->getActiveSheet()->getCell('C'.$i)->getCalculatedValue();
$tercero=$objPHPExcel->getActiveSheet()->getCell('D'.$i)->getCalculatedValue();
$reposicion=$objPHPExcel->getActiveSheet()->getCell('E'.$i)->getCalculatedValue();
$recuperacion=$objPHPExcel->getActiveSheet()->getCell('F'.$i)->getCalculatedValue();
$promedio=$objPHPExcel->getActiveSheet()->getCell('G'.$i)->getCalculatedValue();
$c=("insert into nota(primer_parcial,segundo_parcial, tercer_parcial, reposicion, recuperacion, promedio)
values('$primer','$segundo','$tercero','$reposicion','$recuperacion','$promedio')");
if($objPHPExcel->getActiveSheet()->getCell('B'.$i)->getCalculatedValue()==NULL) //pregunto que si ha encontrado un valor null en una columna inicie un parametro en 1 que indicaria 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 como que tambien un dato)
echo "Total elementos subidos: $totalIngresados ";
}
else//si no se ha cargado el bak
{
echo "Necesitas primero importar el archivo";}
}
}
}
}
?>
</html>
Gracias nuevamente.