Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/07/2013, 11:39
douglasroos
 
Fecha de Ingreso: agosto-2009
Mensajes: 59
Antigüedad: 14 años, 9 meses
Puntos: 0
[AYUDA]Tabla tipo Excel de manera dinamica

Buenas tardes a todos,

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')");    
                }
            }
        }
    } 
Ahora luego de guardarlo tengo otra tabla llamada cev_excel_estr que es donde el usuario especifica cual sera la estructura de la tabla a mostrar.

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!