Saludos a la banda forera
Bueno pues me tope hace poco con que me salieron con que necesitaba hacer unas cosas en php , entre ello importar un excell 2007 a una tabla de mysql , intente guardando como ods el excell y guardarlo en la base de datos con phpmyadmin, pero me pinto cremas, por que mezclaba unos campos, asi que mejor me eche un script malevolo para la insertada directamente de un xlsx a una tabla de mysql, la idea es que tanto el excell como la tabla tengan una estructura similar y tengamos phpexcell funcionando, no es el script original por que tenia la tabla y los campos fijos asi que lo generalice un poco , se los dejo , si les sirve chido , si no , también chido
Código PHP:
Ver original<?
#Autor Gerardo Aquino López
#su conexion a la base de datos
require_once('conn.php');
#si esta choncho el excell luego se truena entonces subo el tiempo de ejecucion y el tamaño de la memoria
#incluyo la clase phpexcel y el archivo Excel a importar
require_once '../PHPExcel-1.7.7/Classes/PHPExcel/IOFactory.php';
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$nombre_archivo="elarchivo.xlsx";
$objPHPExcel = $objReader->load($nombre_archivo);
#defino tabla y campos
$tabla="tabla";
$campos[]="campo1";
$campos[]="campo2";
$campos[]="campo3";
#funcion malevola
function guarda(){
global $tabla;
global $conn;
global $campos;
$num_datos=count($arg_list); $sql="INSERT INTO `$tabla` (";
foreach($campos as $campo)
$sql.="$campo,";
)
$sql.=") VALUES (";
for ($i=0;$i<$num_datos;$i++){
if(isset($arg_list[$i])){ $sql.="'{$arg_list[$i]}',";
}
else{
$sql.="'',";
}
}
}
#recorrido de los campos del excell para insertarlos en la base de datos
$objWorksheet = $objPHPExcel->getActiveSheet();
foreach ($objWorksheet->getRowIterator() as $row) {
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
foreach ($cellIterator as $cell) {
$arg_list[]=$cell->getCalculatedValue();
}
guarda($arg_list);
}
?>