TP5.0 PHPExcel 数据表格导出导入(引)

今天看的是PHPExcel这个扩展库,Comporse 下载不下来,最后只能自己去github里面手动下载,但有一个问题就是下载下来的PHPExcel没有命名空间,所以框架里面的use根本引入不进去,这就变得很尴尬,最后看了Tp5的手册,扩展库里面有个手动引入的办法:

1、先在github里面下载PHPexcel这个类库

2、解压之后把它复制到extend里面

控制器代码如下:

<?php
/*** Created by PhpStorm.* User: luxiao* Date: 2017/5/8* Time: 16:49*/
namespace app\index\controller;use think\Loader;
use think\Controller;class Excel extends Controller
{function excel(){$path = dirname(__FILE__); //找到当前脚本所在路径Loader::import('PHPExcel.Classes.PHPExcel');  //手动引入PHPExcel.phpLoader::import('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory');  //引入IOFactory.php 文件里面的PHPExcel_IOFactory这个类$PHPExcel = new \PHPExcel();  //实例化$PHPSheet = $PHPExcel->getActiveSheet(); $PHPSheet->setTitle("demo"); //给当前活动sheet设置名称$PHPSheet->setCellValue("A1","姓名")->setCellValue("B1","分数");//表格数据$PHPSheet->setCellValue("A2","张三")->setCellValue("B2","2121");//表格数据$PHPWriter = \PHPExcel_IOFactory::createWriter($PHPExcel,"Excel2007");  //创建生成的格式header('Content-Disposition: attachment;filename="表单数据.xlsx"');  //下载下来的表格名header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');$PHPWriter->save("php://output"); //表示在$path路径下面生成demo.xlsx文件
    }
}

调用excel方法就可以生成一个表格了,后续的根据自己的需要自己去写代码.

PHPexcel 表格数据导入数据库 city 表,在这之前自己先创建好表单,我这次用的都是地址数据表做的测试:

function inserExcel(){Loader::import('PHPExcel.Classes.PHPExcel');Loader::import('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory');Loader::import('PHPExcel.Classes.PHPExcel.Reader.Excel5');//获取表单上传文件$file = request()->file('excel');$info = $file->validate(['ext' => 'xlsx'])->move(ROOT_PATH . 'public' . DS . 'uploads');  //上传验证后缀名,以及上传之后移动的地址if ($info) {
//            echo $info->getFilename();$exclePath = $info->getSaveName();  //获取文件名$file_name = ROOT_PATH . 'public' . DS . 'uploads' . DS . $exclePath;   //上传文件的地址$objReader =\PHPExcel_IOFactory::createReader('Excel2007');$obj_PHPExcel =$objReader->load($file_name, $encode = 'utf-8');  //加载文件内容,编码utf-8echo "<pre>";$excel_array=$obj_PHPExcel->getsheet(0)->toArray();   //转换为数组格式array_shift($excel_array);  //删除第一个数组(标题);$city = [];foreach($excel_array as $k=>$v) {$city[$k]['Id'] = $v[0];$city[$k]['code'] = $v[1];$city[$k]['path'] = $v[2];$city[$k]['pcode'] = $v[3];$city[$k]['name'] = $v[4];}Db::name('city')->insertAll($city); //批量插入数据} else {echo $file->getError();}

前端代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<form action="http://localhost/chexian5.0/index.php/index/excel/intoexcel" enctype="multipart/form-data" method="post"><input type="file" name="excel" /><input type="submit" value="导入">
</form>
</body>
</html>

  

好啦

转载于:https://www.cnblogs.com/zmdComeOn/p/9844483.html

TP5.0 PHPExcel 数据表格导出导入(引)相关推荐

  1. TP5.0 PHPExcel 数据表格导出导入(原)

    今天看的是PHPExcel这个扩展库,Comporse 下载不下来,最后只能自己去github里面手动下载,但有一个问题就是下载下来的PHPExcel没有命名空间,所以框架里面的use根本引入不进去, ...

  2. php导入导出xls表,TP5.0 PHPExcel 数据表格导出导入

    1.先在github里面下载PHPexcel这个类库 或者通过以下链接下载PHPexcel类库. http://www.php.cn/xiazai/leiku/1491 2.解压之后把它复制到exte ...

  3. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)

    <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...

  4. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)

    转载自:http://www.cnblogs.com/jyzhao/p/4530575.html 目的:指导项目侧自行进行简单的数据泵迁移工作. 本文实验环境:Oracle 11.2.0.4,利用数据 ...

  5. 数据泵导出导入物化视图(ORA-39083)

    数据泵导出导入物化视图(ORA-39083) 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不 ...

  6. 数据泵导出导入物化视图

    数据泵导出导入物化视图 数据泵导出导入物化视图(ORA-39083) 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能, ...

  7. oracle11g 使用数据泵导出导入数据

    oracle11g 使用数据泵导出导入数据 终于搞定了 快写个笔记 记录下. 删除用户的时候提示已经登录了不能删除,这个需要把登录的session结束掉. select username,sid,se ...

  8. Postman 实现备份数据 Postman恢复数据 postman 导出导入数据 postman 导入导出数据

    Postman 实现备份数据 Postman恢复数据 postman 导出导入数据 postman 导入导出数据 一.需求描述 在使用postman调试接口时,若遇到内网的环境,无法通过账户同步数据: ...

  9. 使用bcp进行大数据量导出导入

    SQL Server的导出导入方式有:在SQL Server中提供了导入导出的界面操作. --还没有解决的问题  --1:使用BCP命令时如果导出的字段为空想替换为其它描述(比如替换成NULL)如何办 ...

最新文章

  1. apache代理模块proxy使用
  2. mysql创建非聚集索引_聚集索引和非聚集索引的区别
  3. QUESTION-PRINCIPLE-ANSWER(SOLUTION) RELATIONSHIP
  4. eclipse(或者myeclipse)常用配置方法
  5. 前端学习(2439):jsonbin-init的使用
  6. 搭建Telnet服务器
  7. java swing简介
  8. spring aop中使用@Pointcut注解抽取可重用的切入点表达式
  9. hdoj1000解题报告
  10. 文泉驿正黑 font JAVA,字体 | 免费可商用字体~文泉驿正黑体
  11. dell 戴尔电脑官网保修期查询或驱动下载安装
  12. c语言酒店信息管理实训作业,c语言实训报告宿舍管理系统.docx
  13. Linux与.Net Core(一) Centos 系统制作教程
  14. python xlwt库的详细函数介绍,xlwt
  15. 标准正态分布怎么算_标准正态分布值计算器
  16. Siebel命令行修改LDAP
  17. tif文件批量转png
  18. python网络爬虫之淘宝订单提取
  19. LaTeX 使用 \begin{aligned} 出现错误代码 Environment aligned undefined. \begin{aligned}
  20. 自定义模块上传 npmjs.com 过程

热门文章

  1. 23种设计模式之适配器模式(Adapter)
  2. JavaScript学习笔记:检测数组方法
  3. 如何批量给数字前面加半角单引号[转]
  4. 胖子哥的大数据之路(7)- 传统企业切入核心or外围
  5. 简单解决XP共享连接数10限制
  6. Spark 调优之数据倾斜
  7. 好程序员Java教程分享JavaScript面试问题及答案(一)
  8. ajax传递对象数组
  9. 002.iSCSI服务端配置
  10. Android被忽略的tools