Thinkphp5+PHPExcel实现批量上传表格数据
1.首先要下载PHPExcel放到vendor文件夹下,我的路径是:项目/vendor/PHPExcel/,把下载的PHPExcel文件放在这里

2.前端代码
<!DOCTYPE html>
<html>
<head>
<title>批量导入数据</title>
</head>
<body>
<form action="{:url('/index/index/importExcel')}" method="post" enctype="multipart/form-data">
<input type="file" name="myfile"><br/>
<input type="submit" value="批量的导入">
</form>
</body>
</html>
3.后台代码
/**
* 导入表格数据
* 先把文件上传到服务器,然后再读取数据存到数据库
*/
public function importExcel(){
header("content-type:text/html;charset=utf-8"); //上传excel文件
$file = request()->file('myfile');
//移到/public/uploads/excel/下
$info = $file->move(ROOT_PATH.'public'.DS.'uploads'.DS.'excel');
//上传文件成功
if ($info) { //引入PHPExcel类
vendor('PHPExcel.PHPExcel.Reader.Excel5'); //获取上传后的文件名
$fileName = $info->getSaveName();
//文件路径
$filePath = 'public/uploads/excel/'.$fileName; //实例化PHPExcel类
$PHPReader = new \PHPExcel_Reader_Excel5();
//读取excel文件
$objPHPExcel = $PHPReader->load($filePath);
//读取excel文件中的第一个工作表
$sheet = $objPHPExcel->getSheet(0);
$allRow = $sheet->getHighestRow(); //取得总行数 //$allColumn = $sheet->getHighestColumn(); //取得总列数 //从第二行开始插入,第一行是列名
for ($j=2; $j <= $allRow; $j++) {
$data['name'] = $objPHPExcel->getActiveSheet()->getCell("A".$j)->getValue();
$data['tel'] = $objPHPExcel->getActiveSheet()->getCell("B".$j)->getValue();
$data['addr'] = $objPHPExcel->getActiveSheet()->getCell("C".$j)->getValue(); $last_id = Db::table('users')->insertGetId($data);//保存数据,并返回主键id if ($last_id) {
echo "第".$j."行导入成功,users表第:".$last_id."条!<br/>";
}else{
echo "第".$j."行导入失败!<br/>";
} } }else{
echo "上传文件失败!";
} }
输出结果:

注意:
引入第三方类库使用vendor();是按照命名空间的形式。底层代码会把“ . ”自动替换成" / ",所以使用“ / ”时要用“ . ”代替;
以上代码可以直接复制使用,但是数据库相关信息要改成你自己的!
Thinkphp5+PHPExcel实现批量上传表格数据的更多相关文章
- Thinkphp5+PHPExcel实现批量上传表格数据功能
http://www.jb51.net/article/129262.htm 1.首先要下载PHPExcel放到vendor文件夹下,我的路径是:项目/vendor/PHPExcel/,把下载的PHP ...
- 使用phpExcel批量上传excel表数据到mysql数据库中
/*批量上传数据*/ if(isset($_POST['submit']) && $_POST['submit']=='上传文件') { //导入类文件 require_once (& ...
- Android利用网络编程HttpClient批量上传(一个)
请尊重他人的劳动成果.转载请注明出处:Android网络编程之使用HttpClient批量上传文件 我曾在<Android网络编程之使用HTTP訪问网络资源>一文中介绍过HttpCient ...
- 转 Android网络编程之使用HttpClient批量上传文件 MultipartEntityBuilder
请尊重他人的劳动成果,转载请注明出处:Android网络编程之使用HttpClient批量上传文件 http://www.tuicool.com/articles/Y7reYb 我曾在<Andr ...
- magento批量上传产品
Step1:表格仔细检查无误后,将准备好的图片上传至 media/import中.如果使用专用的图片服务器,把图片上传到服务器上,当然表格中的图片地址要做相应的修改. Step2:然后,登陆Magen ...
- [Pulgin] 利用swfupload实现java文件批量上传
URL:http://blog.csdn.net/xuweilinjijis/article/details/8876305 之前在网上找过很多相关资料,很多所谓的批量上传都是忽悠人的,真正的批量上传 ...
- Mvc利用淘宝Kissy uploader实现图片批量上传附带瀑布流的照片墙
前言 KISSY 是由阿里集团前端工程师们发起创建的一个开源 JS 框架.它具备模块化.高扩展性.组件齐全,接口一致.自主开发.适合多种应用场景等特性.本人在一次项目中层使用这个uploader组件. ...
- 利用uploadify+asp.net 实现大文件批量上传。
前言 现在网上文件上传组件随便一搜都是一大堆,不过看大家一般都在用uploadify这个来上传文件.由于项目需要,我在来试了一下.因为第一次使用,也遇到了很多问题,特此记录! ------------ ...
- 文件上传和下载(可批量上传)——Spring(三)
在文件上传和下载(可批量上传)——Spring(二)的基础上,发现了文件下载时,只有在Chrome浏览器下文件名正常显示,还有发布到服务器后,不能上传到指定的文件夹目录,如上传20160310.txt ...
随机推荐
- python中的三次握手以及四次挥手
三次握手1.客户端对服务端说:我的序号是x,我要向你请求连接:(第一次握手,发送SYN包,然后进入SYN-SEND状态)2.服务端听到之后对客户端说:我的序号是y,期待你下一句序号是x+1的话(意思就 ...
- Wilcoxon-Mann-Whitney rank sum test
Wilcoxon-Mann-Whitney ranksum test 无节点状况,假定为样本服从类似形状,如果不是类似形状的话,秩的比较没有过多意义. X有m个数,Y有n个数 \(H_0:\mu_1= ...
- Delphi:程序自己删除自己,适用于任何windows版本(含源码)
Delphi:程序自己删除自己,适用于任何windows版本(含源码) function Suicide: Boolean; var sei: TSHELLEXECUTEINFO; szMod ...
- 8 Ways to Become a Better Coder
It’s time to get serious about improving your programming skills. Let’s do it! That’s an easy career ...
- .Net 站点跨域问题及解决方法
一.什么是站点跨域 了解跨域之前, 先了解下什么同源策略?百度百科:同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功 ...
- nodejs结合apiblue实现MockServer
apiblue功能很强大,里面支持很多插件,这些插件能够为restfulAPI提供接口文档自动生成,甚至Mockserver的功能,当然,好多插件还是有很多坑的.下面用apiblue实现下面的业务需求 ...
- 公共技术点( View 事件传递)
转载地址:http://p.codekk.com/blogs/detail/54cfab086c4761e5001b253e 本文为 Android 开源项目源码解析 公共技术点中的 View 事件传 ...
- tomcat8 进入不了Manager App 界面 403 Access Denied
准备 1.注释掉context.xml中的value属性 使用下面的命令: vim /usr/local/tomcats/tomcat-daily/webapps/manager/META-INF/c ...
- JavaScript -- Document-ElementsByName
-----047-Document-ElementsByName.html----- <!DOCTYPE html> <html> <head> <meta ...
- python服务器环境搭建Flask,uwsgi和nginx
python服务器环境搭建Flask,uwsgi和nginx 环境配置 服务器配置 [部署系统环境Ubuntu] 使用python的Flask框架搭建好网页后台后,便要开始将网站部署到服务器平台了. ...