YII中整合PHPEXCEL进行数据导入MYSQL数据库
来源:互联网 发布:java宿舍管理系统 编辑:程序博客网 时间:2024/04/28 00:14
上一篇写到了数据导出EXCEL,同样的有时候需要进行EXCEL数据导入数据库,此处同样适用的是PHPEXCEL包,具体的方法如下:
/** * @todo import excel to mysql * @param $filepath 存储路径 * @param $file 原始的文件名 * @param $filetemp 文件临时存储路径 * @param $sqls insert语句部分 * @return boolean false/true * @see 例子: * if (isset($_POST['submit'])){$files=$_FILES['excelfile'];$file=$files['name'];$filetemp=$files['tmp_name'];$filepath='upload/';$sql='INSERT INTO user (`userid`, `username`, `userage`) VALUES (';$importExcel = $this-> importExcel($filepath, $file, $filetemp, $sql);if ($importExcel==TRUE){echo 'true';}else{echo 'false';}} */public function importExcel($filepath,$file,$filetemp,$sqls){//PHPEXCEL包路径$phpExcelPath=Yii::app() -> request -> baseUrl.'/protected/extensions/phpexcel/';spl_autoload_unregister(array('YiiBase','autoload'));//取消YII自动加载include($phpExcelPath . 'PHPExcel.php');//引入PHPEXCEL类//实现文件上传$filename=explode('.', $file);$time=time();$filename[0]=time();$filename=implode('.', $filename);$uploadfile=$filepath.$filename;$uploadResult=move_uploaded_file($filetemp, $uploadfile);//根据文件上传状态进行具体操作error_reporting(E_ALL ^ E_NOTICE); if ($uploadResult==TRUE){//初始化EXCEL导入$excelReader = PHPExcel_IOFactory::createReader('Excel5');$objPHPExcel = $excelReader -> load($uploadfile);//获取需要导入文件$objWorksheet = $objPHPExcel -> getActiveSheet();$highestRow = $objWorksheet -> getHighestRow(); //计算行数$highestColumn = $objWorksheet->getHighestColumn();//计算列数$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);//初始化列数索引总数//读取EXCEL数据文件for ($row = 2; $row <= $highestRow; $row++){//获取一行中每列的数据for ($col = 0 ; $col <$highestColumnIndex; $col++ ){$list[$col] = "'". $objWorksheet -> getCellByColumnAndRow($col, $row) -> getValue() ."'";}$sqlStr = join(',', $list);$sqlAll[]= $sqls.$sqlStr.');';}//执行SQL操作include 'BaseModel.php';$db = new BaseModel();$doImport = $db -> doArraySqlActionsTran($sqlAll);//使用事务进行批量导入if ($doImport==TRUE){@unlink($uploadfile);//导入成功后删除上传文件return TRUE;}else{return FALSE;}}else {return FALSE;}Yii::app()->end(); //恢复Yii自动加载功能 spl_autoload_register(array('YiiBase','autoload'));}该方法中没有进行数据格式的转换,大家可以根据自己的情况进行转换。
0 0
- YII中整合PHPEXCEL进行数据导入MYSQL数据库
- YII中整合PHPEXCEL进行数据导出功能
- 用phpExcel导入数据到mysql数据库
- PHPExcel导入excel数据到数据库中
- yii phpexcel 导入数据和导出数据
- yii中 集成PHPExcel 实现excel导入
- YII中使用PHPExcel导入导出
- phpexcel yii 导入
- thinkphp5整合phpexcel 数据导入导出操作
- PHPExcel导出mysql数据库数据
- Yii使用PHPEXCEL动态导入数据到Excel表
- 使用PHPexcel把excel数据导入数据库
- PHPExcel自动导入数据到数据库
- Thinkphp PHPExcel批量导入数据到数据库
- yii中使用phpexcel
- phpexcel实现导入内容到数据库中
- Yii中使用PHPexcel获取excel中数据
- PHPExcel导入数据
- YII中整合PHPEXCEL进行数据导出功能
- android下Bitmap和base64之间的转换
- Objective-C、C++以及C之间的区别
- 机器视觉LED光源 选择
- 泛型(2)_适配器
- YII中整合PHPEXCEL进行数据导入MYSQL数据库
- ghost系统无法启动
- PHP中实现常用邮箱的判断
- 使用maven下载jar包,使用ant打包。yqxt项目的安装。
- qt显示label--勘误
- JS---基础(1)
- myEclipse 安装svn的各种方法 很受用
- 属性-计数器变化
- word中插入题注(表1、图1)