phpexcel导入数据库 基于thinkphp3.2
来源:互联网 发布:轩辕剑入魔进阶数据 编辑:程序博客网 时间:2024/05/22 00:11
转载自:PHPexcel
public function studentImportExcel(){
if (!empty ( $_FILES)){
$upload = new \Think\Upload(); // 实例化上传类
$upload->maxSize = 10485760 ; // 设置附件上传大小
$upload->exts = array('xls','xlsx'); // 设置附件上传类型
$upload->rootPath = './Public/Excel/'; // 设置附件上传根目录
$upload->autoSub = false; // 将自动生成以photo后面加时间的形式文件夹,关闭
// 上传文件
$info = $upload->upload(); // 上传文件
$exts = $info['excel']['ext']; // 获取文件后缀
$filename = $upload->rootPath.$info['excel']['savename']; // 生成文件路径名
if(!$info) { // 上传错误提示错误信息
$this->error($upload->getError());
}else{ // 上传成功
import("Org.Util.PHPExcel"); // 导入PHPExcel类库,因为PHPExcel没有用命名空间,只能inport导入
$PHPExcel = new \PHPExcel(); // 创建PHPExcel对象,注意,不能少了\
if ($exts == 'xls') { // 如果excel文件后缀名为.xls,导入这个类
import("Org.Util.PHPExcel.Reader.Excel5");
$PHPReader = new \PHPExcel_Reader_Excel5();
} else
if ($exts == 'xlsx') {
import("Org.Util.PHPExcel.Reader.Excel2007");
$PHPReader = new \PHPExcel_Reader_Excel2007();
}
$PHPExcel = $PHPReader->load($filename); // 载入文件
$currentSheet = $PHPExcel->getSheet(0); // 获取表中的第一个工作表,如果要获取第二个,把0改为1,依次类推
$allColumn = $currentSheet->getHighestColumn(); // 获取总列数
$allRow = $currentSheet->getHighestRow(); // 获取总行数
for ($currentRow = 0; $currentRow <= $allRow; $currentRow ++) {// 循环获取表中的数据,$currentRow表示当前行,从哪行开始读取数据,索引值从0开始
for ($currentColumn = 'A'; $currentColumn <= $allColumn; $currentColumn ++) {// 从哪列开始,A表示第一列
$address = $currentColumn . $currentRow; // 数据坐标
$ExlData[$currentRow][$currentColumn] = $currentSheet->getCell($address)->getValue();// 读取到的数据,保存到数组$arr中
}
}
$Hint = new \Operation\Controller\HintController(); // 生成操作类对象
$data = studentImportExcel_RAW($ExlData); // 调用公用方法的读数组并写入数据库操作
$users = M('users'); // 生成数据库对象
$result = $users->addAll($data); // 批量写入数据库
if ($result) { // 验证
$Hint->mysuccee("导入成功", "2", "Admin/Users/studentManage");// 跳转学生管理页面
} else {
$Hint->myerror("导入失败,原因可能是excel表中有些用户已被注册。或表格格式错误","5");// 提示错误
}
}
}else {
$this->display();
}
}
function studentImportExcel_RAW($ExlData){ // 将导入表中的数据添加到 数据库数组中去
$Hint = new \Operation\Controller\HintController(); // 生成操作类对象
for($i = 2,$j=0;$i<sizeof($ExlData);$i++,$j++){
$dataList[] = array(
'username'=>$ExlData[$i]['A'],
'pwd' =>MD5(11),
'realname'=>$ExlData[$i]['B'],
'stunum' =>$ExlData[$i]['C'],
'email' =>$ExlData[$i]['D'],
'phone' =>$ExlData[$i]['E'],
'photo' =>$Hint->randPhoto(),
'role' =>'1',
'intro' =>'这家伙很懒什么都没留下',
'regdate' =>date('Y-m-d H:i:s', time()) // 写入注册时间
);
}
return $dataList;
}
- phpexcel导入数据库 基于thinkphp3.2
- thinkphp3.2 运用phpexcel将excel文件导入mysql数据库
- 基于thinkphp3.2拓展phpexcel类库
- (超级详细版)利用ThinkPHP3.2.3+PHPExcel实现将表格数据导入到数据库
- PHPExcel+Thinkphp3.2 的一个简单实例
- thinkphp3.2与phpexcel完美案例
- ThinkPHP3.2利用PHPExcel导出Excel
- tp3.2.3 PHPExcel 导入数据库
- PHPExcel导入EXCEL文件到数据库
- phpexcel实现导入内容到数据库中
- PHPExcel导入excel数据到数据库中
- 使用PHPexcel把excel数据导入数据库
- PHPExcel读取excel并导入数据库
- 用phpExcel导入数据到mysql数据库
- PHP 如何利用phpexcel导入数据库
- PHPExcel自动导入数据到数据库
- Thinkphp PHPExcel批量导入数据到数据库
- PHPExcel(2)-- 导入功能
- nginx 根据不同url反向代理到不同服务器
- angular$http.post后台不能获取参数的问题
- android activity启动的时候隐藏软键盘
- [C++基础]typedef 函数指针的用法
- oracle序列详解
- phpexcel导入数据库 基于thinkphp3.2
- mysql中DATE_FORMAT函数用法详解
- 如何将xml约束添加至myeclipse,创建编写xml时的提示
- jmeter入门(原创+转载)
- 思维导图学物理
- Java垃圾回收器总结
- SylixOS_LWIP协议栈学习:数据包管理
- react-router4 第一篇
- 算法导论 练习题 8.1-1