使用Yii 2.0 Framework将数据从xls,csv导入Mysql

时间:2015-06-02 09:53:26

标签: import yii2 mysqlimport

我需要使用YII 2.0 Framework将数据从XLS,CSV文件导入MySql数据库,

XLS,CSV文件包含应导入Mysql DB中一个表的数据,请提供任何信息以便继续。

1 个答案:

答案 0 :(得分:5)

我希望这会有所帮助

public function actionCreate()
    {
        $model = new Import();

        if ($model->load(Yii::$app->request->post()) ) {

            $model->file = UploadedFile::getInstance($model, 'file');

            if ( $model->file )
                {
                    $time = time();
                    $model->file->saveAs('csv/' .$time. '.' . $model->file->extension);
                    $model->file = 'csv/' .$time. '.' . $model->file->extension;

                     $handle = fopen($model->file, "r");
                     while (($fileop = fgetcsv($handle, 1000, ",")) !== false) 
                     {
                        $name = $fileop[0];
                        $age = $fileop[1];
                        $location = $fileop[2];
                        // print_r($fileop);exit();
                        $sql = "INSERT INTO details(name, age, location) VALUES ('$name', '$age', '$location')";
                        $query = Yii::$app->db->createCommand($sql)->execute();
                     }

                     if ($query) 
                     {
                        echo "data upload successfully";
                     }

                }

            $model->save();
            return $this->redirect(['view', 'id' => $model->id]);
        } else {
            return $this->render('create', [
                'model' => $model,
            ]);
        }
    }