/** * */ 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)); }