<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" >
<title>:: Importar de Excel a la Base de Datos ::</title>
<style type="text/css">
b{
font-family: "Courier New", Courier, monospace;
font-size: x-large
}
</style>
</head>
<body>
<div style="position:absolute;top:20;left:580;width:290;">
<center><p><b>Menú de carga de archivos</b></p></center>
</div>
<div class="alert alert-warning" STYLE="position:absolute; left:560; top:180; width:400">
<strong>Recordar</strong>
que los archivos deben estar con extencion .xlsx para la carga de estos.
<img src='img/xlsx3.png' border='0' width='25%' height='8%'>
</div>
<!-- FORMULARIO PARA SOICITAR LA CARGA DEL EXCEL -->
<form name="importa" method="post" action="<?php echo$_SERVER['PHP_SELF'];?>" enctype="multipart/form-data" style="position:absolute;top:50;left:50">
<p>Selecciona el archivo Pvigente:</p>
<input type="file" name="excel" />
<input type='submit' name='enviar' value="Importar" style="position:absolute;top:540;left:150" />
<input type="hidden" value="upload1" name="action" />
</form>
<!-- CARGA LA MISMA PAGINA MANDANDO LA VARIABLE upload -->
<?php
//mostrara solamente errores de ejecucion dentro de la pag.
$action='';
if ($action == 'upload1') //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 "<p style='position:absolute;top:110;left:120'>Archivo Cargado Con Exito</p>";
}
else
{
echo "Error Al Cargar el 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
// 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=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
{
$id_empresa=$objPHPExcel->getActiveSheet()->getCell('A'.$i)->getCalculatedValue();
$nom_fantasia=$objPHPExcel->getActiveSheet()->getCell('B'.$i)->getCalculatedValue();
$codtra=$objPHPExcel->getActiveSheet()->getCell('C'.$i)->getCalculatedValue();
$cod_user_bbva=$objPHPExcel->getActiveSheet()->getCell('D'.$i)->getCalculatedValue();
$rut=$objPHPExcel->getActiveSheet()->getCell('E'.$i)->getCalculatedValue();
$nombre=$objPHPExcel->getActiveSheet()->getCell('F'.$i)->getCalculatedValue();
$id_cargo_funcional=$objPHPExcel->getActiveSheet()->getCell('G'.$i)->getCalculatedValue();
$c=("insert into pvigente values('$id_empresa','$nom_fantasia','$codtra','$cod_user_bbva','$rut','$nombre','$id_cargo_funcional')");
if($objPHPExcel->getActiveSheet()->getCell('A'.$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 "<p style='position:absolute;top:130;left:80'>Total elementos subidos: $totalIngresados, <img src='img/correcto.jpg' border='0' width=5% height='4%'> </p>";
}
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) }
?>
</body>
</html>
<!-- archivo listgrp-->
<html>
<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 -->
<form name="importa" method="post" action="<?php echo$_SERVER['PHP_SELF'];?>" enctype="multipart/form-data" style="position:absolute;top:180;left:50">
<p>Selecciona el archivo Listgrp:</p>
<input type="file" name="excel" />
<input type='submit' name='enviar' value="Importar" style="position:absolute;top:410;left:380"/>
<input type="hidden" value="upload2" name="action" />
</form>
<!-- CARGA LA MISMA PAGINA MANDANDO LA VARIABLE upload -->
<?php
//mostrara solamente errores de ejecucion dentro de la pag.
$action='';
if ($action == 'upload2') //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 "<p style='position:absolute;top:235;left:120'>Archivo Cargado Con Exito</p>";
}
else
{
echo "Error Al Cargar el 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
// 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)
function insert($valores){
}
$i=1; //celda inicial en la cual empezara a realizar el barrido de la grilla de excel
$param=0;
$contador=0;
$f=2000; //para insertmultiple
while($param==0) //mientras el parametro siga en 0 (iniciado antes) que quiere decir que no ha encontrado un NULL entonces siga metiendo datos
{
$GRUPO=$objPHPExcel->getActiveSheet()->getCell('A'.$i)->getCalculatedValue();
$NOMBREGRUPO=$objPHPExcel->getActiveSheet()->getCell('B'.$i)->getCalculatedValue();
$valores.="('$GRUPO','$NOMBREGRUPO'),";
if($i==$f){
$valores=substr($valores,0,-1); $c="insert into LISTGRP values ".$valores;
$f+=2000;
}
if($objPHPExcel->getActiveSheet()->getCell('A'.$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;
}
if($i<$f && $i>($f-3000)){
$valores=substr($valores,0,-1); insert($valores); //INSERTAMOS
}else{
if($i<3000){ // SI NO SUPERA LOS 3000 REGISTROS CARGA LOS QUE ALLA
$valores=substr($valores,0,-1); insert($valores); //INSERTAMOS
}
}
$totalIngresados=$contador-1; //(porque se se para con un NULL y le esta registrando como que tambien un dato)
echo "<p style='position:absolute;top:255;left:100'>Total elementos subidos: $totalIngresados, <img src='img/correcto.jpg' border='0' width=5% height='4%'></p>";
}
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) }
?>
</body>
</html>