在上一节中,我们已经学习了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 中,先引入相关文件
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中。