Tengo un problema, estoy leyendo un archivo de Excel con PHPExcel y estoy guardando la informacion de este archivo en una tabla de MySQL, la estructura de la tabla es la siguiente:
id
id_rel
tipo
valor
Guardo los datos de la siguiente forma:
id id_rel tipo valor
1 1 nombre Pedrito perez
La cuestion es que ninguno de los archivos tiene el mismo formato ni comienza en la misma fila por lo que el script verifica todo eso y lo guarda en la BD:
Código PHP:
require_once("excel/Classes/PHPExcel.php");
require_once("excel/Classes/PHPExcel/Reader/Excel2007.php");
$temporal = $_FILES['excel']['tmp_name'];
$nombre_file = $_FILES['excel']['name'];
$filaheader = $_POST['filaheader'];
move_uploaded_file($temporal,"gettford_control/xls/".$nombre_file);
$objReader = new PHPExcel_Reader_Excel2007();
$objPHPExcel = $objReader->load('gettford_control/xls/'.$nombre_file);
$mysqli->query("INSERT INTO cev_excel(tipo,valor) VALUES('archivo','$nombre_file')");
$id = $mysqli->insert_id;
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
$worksheetTitle = $worksheet->getTitle();
$highestRow = $worksheet->getHighestRow();
$highestColumn = $worksheet->getHighestColumn();
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
$nrColumns = ord($highestColumn) - 64;
$mysqli->query("INSERT INTO cev_excel (id_rel,tipo,valor) VALUES ('$id','Hoja','$worksheetTitle')");
echo "La hoja ".$worksheetTitle." tiene ";
echo $nrColumns . ' columnas ';
echo ', ' . $highestRow . ' filas y su cabecera comienza en la fila '.$filaheader;
$id2 = $mysqli->insert_id;
for ($row = $filaheader; $row <= $highestRow; ++ $row) {
$letra=65;
for ($col = 0; $col < $highestColumnIndex; ++ $col) {
$cell = $worksheet->getCellByColumnAndRow($col, $row);
$val = $cell->getCalculatedValue();
if($row === $filaheader){
if (!empty($val)){
$val_limpia = limpia_cad($val);
$mysqli->query("INSERT INTO cev_excel (id_rel,tipo,valor) VALUES ('$id2','$val_limpia','$val')");
}
}else{
if (!empty($val)){
$tipo_nolimp = $worksheet->getCell(chr($letra). $filaheader);
$tipo = limpia_cad($tipo_nolimp);
$letra++;
$mysqli->query("INSERT INTO cev_excel (id_rel,tipo,valor) VALUES ('$id2','$tipo','$val')");
}
}
}
}
La idea es mostrar una tabla con la estructura definida y en cada columna insertar los datos que corresponden de la tabla cev_excel.
La cuestion es que no hayo como hacerlo, podrían ayudarme con esto?
Muchas gracias!