### **一.前期准备工作**
![](https://box.kancloud.cn/bb0488c76946022524dc02e8d2eead22_486x264.png)
1.首先去PHPExcel官网下载PHPExcel类库,地址:https://github.com/PHPOffice/PHPExcel ,我们只要Classes文件夹就行了
2.首先将我们下好的Classes文件夹改名为PHPExcel(这个根据个人喜好命名),放到我们tp5的vendor文件夹下面。
### 二、功能实现
前台代码展示:
~~~
<form action="{:url('daoru')}" enctype="multipart/form-data" method="post">
<div class="layui-upload">
<button type="button" class="layui-btn layui-btn-normal" id="test8">选择文件</button>
<button type="button" class="layui-btn" id="test9">开始导入到数据库</button>
</div>
</form>
~~~
js代码:
~~~
<script>
layui.use('upload', function(){
var $ = layui.jquery
,upload = layui.upload;
//选完文件后不自动上传
upload.render({
elem: '#test8'
,exts: 'xlsx' //只允许上传压缩文件
,url: '{:url('admin/chengji/daoru')}'
,auto: false
//,multiple: true
,bindAction: '#test9'
,done: function(res){
console.log(res)
if(res.code == 1) {
layer.msg(res.msg, {'icon': 1});
setTimeout(function () {
parent.window.location.reload();
}, 1000);
} else {
layer.msg(res.msg);
}
}
});
});
</script>
~~~
后台代码展示:
~~~
//批量导入
public function daoru(){
if($this->request->isPost()){
$file = $this->request->file('file');
// 移动到框架应用根目录/public/uploads/ 目录下
$info = $file->move(ROOT_PATH . 'public' .DS.'upload'. DS . 'excel');
if($info){
//获取文件所在目录名
$path=ROOT_PATH . 'public' . DS.'upload'.DS .'excel/'.$info->getSaveName();
//加载PHPExcel类
vendor('PHPExcel.PHPExcel');
//实例化PHPExcel类(注意:实例化的时候前面需要加'\')
$extension = $info->getExtension();
if( $extension =='xlsx' )
{
$objReader = new \PHPExcel_Reader_Excel2007();
}else
{
$objReader = new \PHPExcel_Reader_Excel5();
}
$objPHPExcel = $objReader->load($path,$encode='utf-8');//获取excel文件
$sheet = $objPHPExcel->getSheet(0); //激活当前的表
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumn = $sheet->getHighestColumn(); // 取得总列数
$a=0;
//将表格里面的数据循环到数组中
for($i=2;$i<=$highestRow;$i++)
{
//*为什么$i=2? (因为Excel表格第一行应该是姓名,年龄,班级,从第二行开始,才是我们要的数据。)
$data[$a]['cj_munuid'] = $objPHPExcel->getActiveSheet()->getCell("A".$i)->getValue();//届数id
$data[$a]['zhunkaozheng'] = $objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue();//准考证号码
$data[$a]['sfz'] = $objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue();//身份证号码
$data[$a]['xueyuanname'] = $objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue();//姓名
$data[$a]['zhiye'] = $objPHPExcel->getActiveSheet()->getCell("E".$i)->getValue();//鉴定职业
$data[$a]['jiebie'] = $objPHPExcel->getActiveSheet()->getCell("F".$i)->getValue();//级别
$data[$a]['kemu'] = $objPHPExcel->getActiveSheet()->getCell("G".$i)->getValue();//科目
$data[$a]['lilun'] = $objPHPExcel->getActiveSheet()->getCell("H".$i)->getValue();//理论成绩
$data[$a]['lilunzhuang'] = $objPHPExcel->getActiveSheet()->getCell("I".$i)->getValue();
$data[$a]['shicao'] = $objPHPExcel->getActiveSheet()->getCell("J".$i)->getValue();
$data[$a]['shicaozhuang'] = $objPHPExcel->getActiveSheet()->getCell("K".$i)->getValue();
$data[$a]['pingding'] = $objPHPExcel->getActiveSheet()->getCell("L".$i)->getValue();
$data[$a]['baomingjigou'] = $objPHPExcel->getActiveSheet()->getCell("M".$i)->getValue();
// 这里的数据根据自己表格里面有多少个字段自行决定
$a++;
}
//往数据库添加数据
//dump($data);
$aa = Db('chengji')->insertAll($data);
if($aa){
$res['code']=1;
$res['msg'] = '导入成功!';
}else{
$res['code']=0;
$res['msg'] = '导入失败!';
}
return $res;
}
}
return $this->fetch();
}
~~~
- 前言
- 1、PHPExcel表格导入导出
- 1、PHPExcel导入
- 2、PHPExcel导出
- 2、thinkphp5+layui异步上传缩略图
- 3、thinkphp5+layui异步修改排序
- 4、TP5+layui数据表格实现列表管理
- 5、判断是否是手机访问
- 6、thinkphp+layui多图上传(1)
- 7、多图上传控制器及模型代码(2)
- 8、购物车
- 9、thinkphp5微信登录
- 1.1、微信登录的条件
- 1.2、实现微信登录的准备
- 1.3、三步实现微信登录
- 1.4、提取客户信息,并且写入数据库
- 1.5、客户登录:
- 1.6、小结完整代码
- 1.7、本章完整代码下载
- 10、ThinkPHP5.实现微信支付详解
- 1、实现微信支付的所需要的条件
- 2、实现微信支付前的准备
- 3、TP5中引入微信支付库文件
- 4、TP5中调用库文件生成支付二维码
- 5、TP5下订单并把订单写到数据库
- 6、TP5微信支付异步回调修改订单的详细处理
- 7、TP5微信支付订单查询及支付成功后异步处理跳转
- 8、本章完整代码下载
- 9、支付宝、微信支付视频推荐
- 11、thinkphp无限极分类
- 12、thinkphp面包屑
- 13、thinkphp无限极分类查找自己的子集
- 14、tp5轻松实现上一篇下一篇
- 15、tp5中百度编辑器的使用
- 16、TP5的字符串截取
- 17、tp5+layui增、删、改、查。
- 18、网站后台模板推荐
- 19、tp5上传图片
- 1、上传到本地
- 2、上传到七牛云
- 3、上传到阿里云OSS
- 4、上传到阿里云OSS2
- 20、ThinkPHP5常用的功能
- TP5实现邮件发送
- tp5 阿里大鱼短信服务发送验证码
- TP5短信宝发送短信验证码和短信
- tp5 使用DB 批量删除
- tp5后台登录实现
- thinkphp自定义后台admin登陆地址 隐藏后台登录地址
- tp5.1使用easywechat 公众号授权登录
- 20、uniapp常用功能
- 22、JavaScript 视频教程