Home  >  Article  >  Backend Development  >  PHPExcel(二)- 导入功能

PHPExcel(二)- 导入功能

WBOY
WBOYOriginal
2016-06-13 12:19:40793browse

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、将解压后的classes目录下所有内容,拷贝放到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、编写方法upload(以下是自己开发过程中的部分代码)

public function actionUpload()    {        spl_autoload_unregister(array('YiiBase', 'autoload'));        $phpExcelPath = Yii::getPathOfAlias('application.extensions.PHPExcel.PHPExcel');        include($phpExcelPath . DIRECTORY_SEPARATOR . 'IOFactory.php');        spl_autoload_register(array('YiiBase', 'autoload')); //前提工作        if (isset($_POST['submit'])) {            $file_temp = CUploadedFile::getInstanceByName('files');            $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 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中的name、credit中。
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn