Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/07/2016, 07:27
esoto
 
Fecha de Ingreso: abril-2015
Mensajes: 96
Antigüedad: 4 años, 5 meses
Puntos: 1
Duda con PHPExcel

Estimados, tengo la siguiente inquietud, estoy intentando importar un archivo excel a mi bd, con la libreria phpexcel, hasta ahora lo hago sin problemas, salvo por un pequeño detalle.

tengo que predefinir una tabla en mi bd, y asignar campos. Pero me gustaria saber si se puede hacer de forma automatica. es decir subir el archivo. sin tener alguna tabla previa.

no se si me explico. pero a modo de ejemplo. si tengo un archivo excel con 2 columnas. debo crear una tabla e indicar por codigo los campos a llenar.

pero si quiero ahora insertar un excel con mas columnas, debo crear otra tabla y volver a indicar cuales son los campos.

espero me logren entender, dejaremi el codigo que utilizo.


Código PHP:
Ver original
  1. $name   = $_FILES['file']['name'];
  2.       $tname  = $_FILES['file']['tmp_name'];
  3.         $obj_excel = PHPExcel_IOFactory::load($tname);      
  4.         $sheetData = $obj_excel->getActiveSheet()->toArray(null,true,true,true);
  5.         $arr_datos = array();
  6.       foreach ($sheetData as $index => $value) {            
  7.             if ( $index != 1 ){
  8.                 $arr_datos = array(
  9.                     'titulo1'  => $value['A'],
  10.                     'titulo2'  =>  $value['B'],
  11.                     /*'campo2' =>  $value['C'],
  12.                     'campo3'  =>  $value['D'],                                        */
  13.                 );
  14.     foreach ($arr_datos as $llave => $valor) {
  15.       $arr_datos[$llave] = $valor;
  16.     }
  17.     $this->db->insert('prueba',$arr_datos);  
  18.             }
  19.         }
  20.         $result['valid'] = true;
  21.   $result['message'] = 'Productos importados correctamente';
  22.   $this->output
  23.            ->set_content_type('application/json')
  24.            ->set_output(json_encode($result));