Esempio n. 1
0
 /**
  *
  */
 public function indexAction()
 {
     $em = $this->getDoctrine()->getManager();
     $categorias = $em->getRepository('GulloaStoreBackendBundle:Categoria')->findAll();
     $phpExcelObject = $this->get('phpexcel')->createPHPExcelObject(__DIR__ . '\\..\\Import\\file.xlsx');
     $phpExcelObject->setActiveSheetIndex(0);
     $cantidad = $phpExcelObject->getActiveSheet()->getHighestRow();
     $creados = 0;
     $editados = 0;
     for ($i = 2; $i <= $cantidad; $i++) {
         $edit = true;
         $id = $phpExcelObject->getActiveSheet()->getCell('A' . $i)->getValue();
         $producto = $em->getRepository('GulloaStoreBackendBundle:Producto')->find($id);
         if ($producto == null) {
             $producto = new Producto();
             $edit = false;
             $creados++;
             if ($id !== null) {
                 $producto->setId($id);
             }
         } else {
             $editados++;
         }
         $tipo = $phpExcelObject->getActiveSheet()->getCell('B' . $i)->getValue();
         $tipo = $em->getRepository('GulloaStoreBackendBundle:Tipo')->find($tipo);
         $titulo = $phpExcelObject->getActiveSheet()->getCell('C' . $i)->getValue();
         $descripcion = $phpExcelObject->getActiveSheet()->getCell('D' . $i)->getValue();
         $precio = $phpExcelObject->getActiveSheet()->getCell('E' . $i)->getValue();
         $imagen = $phpExcelObject->getActiveSheet()->getCell('F' . $i)->getValue();
         $imagen = $em->getRepository('GulloaStoreBackendBundle:Imagen')->findOneByFilename($imagen);
         $producto->setTipo($tipo)->setPrecio($precio)->setTitulo($titulo)->setDescripcion($descripcion)->setImagen($imagen);
         if (!$edit) {
             $em->persist($producto);
         }
     }
     $em->flush();
     $data = $editados . " - " . $creados;
     return $this->render('GulloaStoreBackendBundle:Importar:index.html.twig', array('categorias' => $categorias, 'data' => $data));
 }