我们经常会在系统中用到excel导入的功能。运营人员将需要的数据,写在excel中,直接导入系统。比他们在 后台中一个一个的添加要方便快捷。phpexcel 是php操作excel的神奇,可以进行excel的生成以及解析。这里我不讲 利用 phpexcel 生成 excel,因为这个类在生成大的 excel 时效率非常的低,还容易导致失败。所以大的数据导出,建议导出成 csv 格式。
## thinkphp5 集成 phpexcel
依旧是到 packagist 的官网 https://packagist.org ,搜索 phpexcel,复制安装语句。打开 cmd ,进入项目根目录
~~~
composer require phpoffice/phpexcel
~~~
![](https://box.kancloud.cn/30d2d295eab4aa1e98ae13e147c5eb70_561x257.jpg)
## 应用phpexcel导入excel
控制器方面,我们在 Tools.php 中新建 excel
~~~
// 导入excel
public function excel()
{
if(request()->isPost()){
}
return $this->fetch();
}
~~~
然后我们来新建一个页面,添加一个 上传按钮,让用户可以上传excel,新建 application\index\view\tools\excel.html
~~~
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>上传excel</title>
</head>
<body>
<form action="{:url('tools/excel')}" method="post" enctype="multipart/form-data">
<input type="file" name="excel" />
<input type="submit" value="提交"/>
</form>
</body>
</html>
~~~
访问 http://www.phper.com/index/tools/excel 一个最简易的 页面,不要介意啊。我们主要看功能。
![](https://box.kancloud.cn/d13cc35966190605501bd1666b13f090_411x111.jpg)
下面,我们整理一个excel,将他上传,交给 excel 这个函数来处理。我在本地新建了一个 text.xlsx
![](https://box.kancloud.cn/a82a06e39966ba46726679dc60aecbe0_512x196.jpg)
这样就可以上传了,让我们来看看,如何获取这个excel中的内容。
~~~
// 导入excel
public function excel()
{
if(request()->isPost()){
$excel = request()->file('excel')->getInfo();
$objPHPExcel = \PHPExcel_IOFactory::load($excel['tmp_name']);//读取上传的文件
$arrExcel = $objPHPExcel->getSheet(0)->toArray();//获取其中的数据
print_r($arrExcel);die;
}
return $this->fetch();
}
~~~
提交excel会得到如下的数组:
![](https://box.kancloud.cn/668abd61a361b0ee1e9f856e5a27d8ea_271x417.jpg)
后面该怎么处理,相信我不说你也明白了吧。
- 前言
- 安装thinkphp5
- 快速搭建前后台模块
- 系统登录的实现
- 图形验证码的实现
- 使用layer完成用户增删改查
- 用户列表的展示
- 增加用户
- layer弹出层的使用1
- layer弹出层的使用2
- 编辑用户
- 删除用户
- 重构用户列表
- laypage分页插件的应用
- laytpl模板引擎的应用
- 完成重构
- 其他layer系列插件
- upload实现文件图片的异步上传
- laytree树形菜单
- 省市县三级联动
- datable的应用
- UEditor的使用
- 新闻小爬虫的实现
- 页面静态化的实现
- 通过phpexcel导入数据
- ztree树形菜单
- 生成二维码
- 权限设计
- 从rbac到auth
- auth前的准备工作
- auth权限设计
- auth的最终呈现
- php常用函数合集
- 生成随机IP
- 身份证验证
- 对象转换成数组
- 无限极分类
- 通过ip定位城市
- 源码下载