>  기사  >  백엔드 개발  >  PHPExcel(2) 导入功能

PHPExcel(2) 导入功能

WBOY
WBOY원래의
2016-06-23 13:34:431011검색

在上一节中,我们已经学习了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 ('application.extensions.*');require_once('PHPExcel/PHPExcel.php');require_once 'PHPExcel/PHPExcel/Writer/Excel5.php'; // 用于其他低版本xlsrequire_once 'PHPExcel/PHPExcel/Writer/Excel2007.php'; // 用于 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中。
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.