/** * Creates a new Cities model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new Cities(); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('create', ['model' => $model]); } }
public function actionUploadCities() { $model = new XlsxFile(); $filecsv = ''; if ($model->load(Yii::$app->request->post())) { $file = UploadedFile::getInstance($model, 'file'); $filename = 'Data.' . $file->extension; $upload = $file->saveAs('uploads/csv/' . $filename); define('CSV_PATH', 'uploads/csv/'); $inputFileName = CSV_PATH . $filename; try { $inputFileType = \PHPExcel_IOFactory::identify($inputFileName); $objReader = \PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader->load($inputFileName); } catch (Exception $e) { die('Error loading file "' . pathinfo($inputFileName, PATHINFO_BASENAME) . '": ' . $e->getMessage()); } // Get worksheet dimensions $sheet = $objPHPExcel->getSheet(0); $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); //Delet old governrates $cityobj = new Cities(); $cityobj->deleteAll(); // Loop through each row of the worksheet in turn for ($row = 1; $row <= $highestRow; $row++) { // Read a row of data into an array $fillData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE); // echo $fillData[0][0].'----'.$fillData[0][1].'-----'.$fillData[0][2]."<br/>"; if ($fillData[0][0] != "gov_code" and $fillData[0][0] != '') { $cityobj = new Cities(); $cityobj->title = $cityobj->title_ar = $fillData[0][2]; $cityobj->government_code = $fillData[0][0]; $cityobj->id = $fillData[0][1]; if (!$cityobj->save()) { // var_dump($cityobj->getErrors()); } } // foreach($fillData[0] as $k=>$v) // echo "Row: ".$row."- Col: ".($k+1)." = ".$v."<br />"; // echo $v."<br/>"; // $oCustomer= new Item(); // $oCustomer->title=$fillData[0][1]; // $oCustomer->save(); } unlink('uploads/csv/' . $filename); $this->flash('success', Yii::t('easyii/customers', 'Data Imported successfully')); return $this->redirect(['/admin/customers/items/1']); } else { return $this->render('uploadcsv', ['model' => $model, 'filecsv' => $filecsv]); } }