Hola amigos otra ves por aca con una consulta respecto a iprtar varios dicumentos de excel a un misma tabla, lo que tenog por el momento es esto:
Código PHP:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>:: Importar de Excel a la Base de Datos ::</title>
</head>
<form name="importa" method="post" action="<?php echo $_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>
<?php
error_reporting(0);
extract($_POST);
if ($action == "upload") { //si action tiene como valor UPLOAD haga algo (el value de este hidden es es UPLOAD iniciado desde el value
//cargamos el archivo al servidor con el mismo nombre(solo le agregue el sufijo bak_)
$archivo = $_FILES['excel']['name']; //captura el nombre del archivo
$tipo = $_FILES['excel']['type']; //captura el tipo de archivo (2003 o 2007)
$destino = "bak_" . $archivo; //lugar donde se copiara el archivo
if (copy($_FILES['excel']['tmp_name'], $destino)) { //si dese copiar la variable excel (archivo).nombreTemporal a destino (bak_.archivo) (si se ha dejado copiar)
echo "Archivo Cargado Con Exito";
} else {
echo "Error Al Cargar el Archivo";
}
if (file_exists("bak_" . $archivo)) { //validacion para saber si el archivo ya existe previamente
/* INVOCACION DE CLASES Y CONEXION A BASE DE DATOS */
/** Invocacion de Clases necesarias */
require_once('Classes/PHPExcel.php');
require_once('Classes/PHPExcel/Reader/Excel2007.php');
//DATOS DE CONEXION A LA BASE DE DATOS
$cn = mysql_connect("localhost", "root", "1234") or die("ERROR EN LA CONEXION");
$db = mysql_select_db("escuela", $cn) or die("ERROR AL CONECTAR A LA BD");
// Cargando la hoja de calculo
$objReader = new PHPExcel_Reader_Excel2007(); //instancio un objeto como PHPExcelReader(objeto de captura de datos de excel)
$objPHPExcel = $objReader->load("bak_" . $archivo); //carga en objphpExcel por medio de objReader,el nombre del archivo
$objFecha = new PHPExcel_Shared_Date();
// Asignar hoja de excel activa
$objPHPExcel->setActiveSheetIndex(0); //objPHPExcel tomara la posicion de hoja (en esta caso 0 o 1) con el setActiveSheetIndex(numeroHoja)
// Llenamos un arreglo con los datos del archivo xlsx
$i = 11; //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
//$nocontrol = $objPHPExcel->getActiveSheet()->getCell('B' . $i)->getCalculatedValue();
$nombre = $objPHPExcel->getActiveSheet()->getCell('S' . $i)->getCalculatedValue();
//$grado = $objPHPExcel->getActiveSheet()->getCell('D' . $i)->getCalculatedValue();
//$grupo = $objPHPExcel->getActiveSheet()->getCell('E' . $i)->getCalculatedValue();
// $sexo = $objPHPExcel->getActiveSheet()->getCell('F' . $i)->getCalculatedValue();
$c = ("insert into alumnos2 values($i,'$nombre')");
mysql_query($c);
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";
}
unlink($destino); //desenlazar a destino el lugar donde salen los datos(archivo)
}
?>
y lo que hace es ingresarme a la tabla de la bd los datos desde ese excel pero si quiro ingresar otra hoja de excel a la misma tabla de la base de datos no lo hace alguien a trabajado con algo parecido, ya que lo que queir en si es lo siguiente:
por ejemplo un paciente se hace varios tipos de examenes y hya una amquina que te bota los resultados en excel y esos datos se encesitan ingresar al sistema mediante esa hoja de excel enotncs otro paciente se toma otors examen y ingresar tambien esos datos a esa tabla y asi sucesivamente por favor si alguien tuviera alguna guia o algun codigo por ahi q se pareciera en algo para estudiarlo ya que es la primera ves que hago algo asi, gracias de antemano