Clash of doctrine with phpexcel

91 views
Skip to first unread message

Betsabeth Torres

unread,
Mar 6, 2017, 2:41:31 PM3/6/17
to php-excel-reader-discuss
I have the following code where I am implementing php excel to import to the bd of mysql 

  function guardar() {
        
        
        // validar que el nombre de la localidad no sea repetido
        $this->form_validation->set_error_delimiters('<h3 style="color:red">', '</h3>');        
        
        $name     = $_FILES['file']['name'];
        $tname    = $_FILES['file']['tmp_name'];
        
        if ($name <> ""){     
            $this->importar_excel_datos_trabajadores($name, $tname);
        }else{
...} 

 function importar_excel_datos_trabajadores($name,$tname){
 
 
        // Buscamos nuestra clase para leer el Excel
        $this->load->library('spreadsheet_excel_reader');
        
        // Instanciamos nuestra clase
         $dato = new Spreadsheet_Excel_Reader($tname);
         $dato->setOutputEncoding('CP1251'); // Set output Encoding.
        $dato->read($tname); // relative path to .xls that was uploaded earlier
        
         var_dump($tname);
       
        //Aqui vamos a leer el Excel, empezando desde la fila 2
        for ($i = 2; $i <= $dato->rowcount($sheet_index=0); $i++) {
 
            //Verificamos que cada celda la fila no se encuentra vacia
            if($dato->val($i,1) != ''){
                
                $this->new_localidad = null;
                $this->new_gerencia = null;
                $this->new_departamento = null;
                $this->new_cargo = null;
                $this->new_trabajador = null;
                // leemos columna por columna
                for ($j = 1; $j <= $dato->colcount($sheet_index=0); $j++) {
 
                    $ced_trab = $value   = $dato->val($i,6);  
                    $trabajador = new TTrabajador();
                    $existe_trab = $trabajador->existe_trabajador($ced_trab);
                    $estatus = $dato->val($i,18);
                 
                    if (($existe_trab)||(!$existe_trab && ($estatus != 3))){
                        
                        $value   = $dato->val($i,$j);
                        
                        // si la columna del excel es la nro 1 (nombres de localidades proyectos)     
                        if ($j==1){
                            $localidad = new TLocalidad();
                            $existe_loc = $localidad->existe_localidad($value);

                            if (!$existe_loc){
                                $localidad->c_numero_contrato = $value;
                                $localidad->c_nombre = $value;
                                $localidad->c_descripcion = $value;
                                $localidad->c_fecha_inicio =  date("Y-m-d");

                                try {
                                    $localidad->save();
                                    $this->new_localidad = $localidad->cpk_localidad;
                                } catch (Doctrine_Connection_Mysql_Exception $e) {
                                    $mensaje['nombre_mensaje'] = $this->lang->line('mensaje_error');
                                    $mensaje['mensaje_error'] = "La localidad: ".$this->new_localidad->c_nombre." bajo el nro de contrato: ".$value." no se registro.<br>".$e->getMessage();
                                    $this->contenido =  $this->contenido . $this->load->view("mensajes/mensaje_errores", $mensaje,true);
                                    $this->plantilla->crearplantilla($this->control, $this->contenido, $this->plantilla->crearmenu(1), true);
                                    return;
                                }                               
                            }else{
                                $this->new_localidad = $localidad->obtener_localidad_x_nro_contrato($value)->cpk_localidad;
                                $estatus_localidad = $localidad->obtener_localidad_x_nro_contrato($value)->c_activo;
                                // si el proyecto esta inactivo lo activo
                                if ($estatus_localidad == 0){
                                    $localidad = $localidad->obtener_localidad_x_nro_contrato($value);
                                    $localidad->c_activo = 1;
                                    $localidad->save();
                                }
                                
                            }

                        }  ...

Fatal error: Uncaught exception 'Doctrine_Exception' with message 'Couldn't find class L' 
Doctrine_Exception: Couldn't find class l in   \doctrine\Doctrine\Table.php on line 256 


I have done several tests with the code and nothing that improves the data.
Reply all
Reply to author
Forward
0 new messages