ホームページ  >  記事  >  バックエンド開発  >  PHPExcel(2) - インポート機能

PHPExcel(2) - インポート機能

WBOY
WBOYオリジナル
2016-06-13 12:19:40830ブラウズ

PHPExcel (2) -- インポート関数
前節では、PHPExcel のエクスポート関数について学習しました。したがって、このセクションでは、PHPExcel を使用して Excel ファイルからデータベースにデータをインポートする方法を学びましょう。
PHPExcel の使用方法は前のセクションで説明したものと同じです: http://blog.csdn.net/liuruiqun/article/details/45667789

1. まず、アプリケーション (github) をダウンロードします。リンクは: https://github.com/PHPOffice/PHPExcel

2. protected/extensions パスの下に PHPexcel ディレクトリを作成し、ダウンロードした PHPExcel ファイルを解凍します。

3. 解凍したクラス ディレクトリ内のすべての内容を protected/extensions/PHPexcel ディレクトリにコピーします

4. まず、コントローラー ファイル XXX.Controller.php に関連するファイルを導入します

<?phpYii::import(&#39;application.extensions.*&#39;);require_once(&#39;PHPExcel/PHPExcel.php&#39;);require_once &#39;PHPExcel/PHPExcel/Writer/Excel5.php&#39;; // 用于其他低版本xlsrequire_once &#39;PHPExcel/PHPExcel/Writer/Excel2007.php&#39;; // 用于 excel-2007 格式...



5. 書き方アップロード (以下は私自身の開発過程でのコードの一部です)

public function actionUpload()    {        spl_autoload_unregister(array(&#39;YiiBase&#39;, &#39;autoload&#39;));        $phpExcelPath = Yii::getPathOfAlias(&#39;application.extensions.PHPExcel.PHPExcel&#39;);        include($phpExcelPath . DIRECTORY_SEPARATOR . &#39;IOFactory.php&#39;);        spl_autoload_register(array(&#39;YiiBase&#39;, &#39;autoload&#39;)); //前提工作        if (isset($_POST[&#39;submit&#39;])) {            $file_temp = CUploadedFile::getInstanceByName(&#39;files&#39;);            $file1 = $file_temp->getName();            $file = iconv("utf-8", "gb2312", $file1); //中文乱码            $file_dir = YiiBase::getPathOfAlias('webroot') . '/assets/upload/subject/' . $file;            $file_temp->saveAs($file_dir, true);            $objReader = PHPExcel_IOFactory::createReader('Excel5'); //use excel2007 for 2007 format            $objPHPExcel = $objReader->load($file_dir);            $sheet = $objPHPExcel->getSheet(0);            $total_line = $sheet->getHighestRow(); // 取得总行数            //$total_column = $sheet->getHighestColumn(); // 取得总列数            for ($row = 2; $row <= $total_line; $row++) {                $a = $objPHPExcel->getActiveSheet()->getCell("A" . $row)->getValue(); //获取A列的值(ID)                $b = $objPHPExcel->getActiveSheet()->getCell("B" . $row)->getValue(); //获取B列的值(ID)                $model = new Subject;                $model->name = $a;                $model->credit = $b;                $model->save();            }            $this->redirect(array('admin'));        }        $this->render('upload');    }



コード実装関数:
Excel ファイルを /assets/upload/subject/ ディレクトリにアップロードし、Excel ファイルの列 A と列 B の値をデータ テーブル Subject の名前とクレジットにそれぞれインポートします。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。