先下载类文件,将类文件放到lib下,然后到入口文件定义一个新的的路径,以便引入文件。

  

  1. <?php
  2. namespace app\index\controller;
  3. use think\Controller;
  4. require EXTEND_PATH."/PHPExcel/Classes/PHPExcel.php";
  5. use think\Db;
  6. use PHPExcel;
  7. use PHPExcel_Writer_Excel2007;
  8. use PHPExcel_Reader_Excel2007;
  9. use PHPExcel_Cell;
  10. class Excel extends Controller
  11. {
  12. public function index()
  13. {
  14. $list=Db::table("excel")->field('id,name,password')->select();
  15. $this->assign("list",$list);
  16. return view("index");
  17. }
  18. //导出
  19. public function export(){
  20. $list=Db::table("excel")->field('id,name,password')->select();
  21. //创建一个phpexcel对象
  22. $objPHPExcel = new PHPExcel();
  23. //构造一个对象
  24. $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
  25. //设置一个sheet
  26. $objPHPExcel->setActiveSheetIndex();
  27. //设置sheet名称
  28. $objPHPExcel->getActiveSheet()->setTitle("users");
  29. //设置title
  30. $zm = array('A','B','C');
  31. $title=array('编号','名称','密码');
  32. $num=;
  33. foreach($title as $key=>$val){
  34. $objPHPExcel->getActiveSheet()->setCellValue($zm[$key].$num, $val);
  35. }
  36. //设置数据
  37. foreach($list as $k=>$v){
  38. $num++;
  39. $k=;
  40. foreach($v as $kk=>$vv){
  41. $objPHPExcel->getActiveSheet()->setCellValue($zm[$k].$num,$vv);
  42. $k+=;
  43. }
  44. }
  45. //输出到浏览器
  46. header("Content-Type:application/download");
  47. header('Content-Disposition:attachment;filename="export.xls"');
  48. //保存文件
  49. $objWriter->save('php://output');
  50. }
  51. //导入
  52. public function import(){
  53. header('content-type:text/html;charset=utf-8');
  54. $file=$_FILES['user']['tmp_name'];
  55. //获取读取excel对象
  56. $PHPReader = new PHPExcel_Reader_Excel2007();
  57. $boole7=$PHPReader->canRead($file);
  58. if(!$boole7){
  59. $boole5=$PHPReader = new PHPExcel_Reader_Excel5($file);
  60. if(!$boole5){
  61. $this->error('文件不可读');
  62. }
  63. }
  64. //加载文件
  65. $PHPExcel = $PHPReader->load($file);
  66. //获取第一个工作表
  67. $currentSheet = $PHPExcel->getSheet();
  68. //获取当前工作表有多少列
  69. $allColumn = PHPExcel_Cell::columnIndexFromString($currentSheet->getHighestColumn());
  70. //获取当前工作表有多少行
  71. $allRow = $currentSheet->getHighestRow();
  72. $title=array('id','name','password');
  73. $zm=array('A','B','C','D');
  74. $insertData=array();
  75. for($i=;$i<=$allRow;$i++){
  76. for($j=;$j<=$allColumn;$j++){
  77. $value = $currentSheet->getCell($zm[$j-].$i)->getValue();
  78. $insertData[$i][$title[$j-]]=htmlspecialchars($value);
  79. }
  80. }
  81. $insertData=array_values($insertData);
  82. $res=Db::name('user')->insertAll($insertData);
  83. if($res<=){
  84. $this->error('数据导入失败');
  85. }else{
  86. $this->success('数据导入成功','show');
  87. }
  88. }
  89. //展示导入数据
  90. public function show(){
  91. $list=Db::table("user")->select();
  92. return view("show",['list'=>$list]);
  93. }
  94. }

phpexcel导入导出的更多相关文章

  1. 使用PHPExcel导入导出excel格式文件

    使用PHPExcel导入导出excel格式文件  作者:zccst  因为导出使用较多,以下是导出实现过程.  第一步,将PHPExcel的源码拷贝到项目的lib下  文件包含:PHPExcel.ph ...

  2. 黄聪:超实用的PHPExcel[导入][导出]实现方法总结

    首先需要去官网https://github.com/PHPOffice/PHPExcel/下载PHPExcel,下载后只需要Classes目录下的文件即可. 1.PHPExcel导出方法实现过程 /* ...

  3. PHPExcel导入导出 若在thinkPHP3.2中使用(无论实例还是静态调用(如new classname或classname::function)都必须加反斜杠,因3.2就命名空间,如/classname

    php利用PHPExcel类导出导入Excel用法 来源:   时间:2013-09-05 19:26:56   阅读数: 分享到: 16 [导读] PHPExcel类是php一个excel表格处理插 ...

  4. thinkphp5 使用PHPExcel 导入导出

    首先下载PHPExcel类.网上很多,自行下载. 然后把文件放到vendor文件里面. 一般引用vendor里面的类或者插件用vendor(); 里面加载的就是vendor文件,然后想要加载哪个文件, ...

  5. phpexcel 导入导出

    导出excel /** * 以下是使用示例,对于以 //// 开头的行是不同的可选方式,请根据实际需要 * 打开对应行的注释. * 如果使用 Excel5 ,输出的内容应该是GBK编码. */ //r ...

  6. 【PHP】使用phpoffice/phpexcel导入导出数据

    本例以thinkphp5.1为例 包地址: https://packagist.org/packages/phpoffice/phpexcel 使用: composer require phpoffi ...

  7. phpexcel使用说明5----ThinkPHP+PHPExcel[导入][导出]实现方法

    转自:http://www.thinkphp.cn/code/403.html实现步骤: 注意:phpexcel必须是1.78版本的,不能用1.8以上的 一:去官网http://phpexcel.co ...

  8. phpcms 用phpexcel导入导出excel

    html <form method="post" action="?m=content&c=content&a=public_add_excel&q ...

  9. phpexcel 导入导出excel表格

    phpexcel中文实用手册 转载:http://www.cnblogs.com/freespider/p/3284828.html 下面是总结的几个使用方法 include 'PHPExcel.ph ...

随机推荐

  1. linux之创建用户

    用户 useradd   xxx        创建用户   默认是普通用户 useradd    -u666   web       创建新用户    设置id号 groupadd   -g 777 ...

  2. Linux运维之shell脚本进阶篇

    一.if语句的使用 1)语法规则 if [条件] then 指令 fi 或 if [条件];then 指令 fi 提示:分号相当于命令换行,上面两种语法等同特殊写法:if[ -f"$file ...

  3. 微信连wifi,中文ssid报Invalid sign tosign错误

    Invalid sign tosign错误如上: 是微信官方接受和回传的问题,改固定字符解决: 比如将ssid固定修改为字符串‘ssid’即可:

  4. Front-end: Using blurred backgrounds with contents unaffected.

    Purpose: Using a picture as the background of a page with blurred effect, while the content not blur ...

  5. [ 随手记 1 ] C/C++宏,普通函数,内联函数

    函数定义 C 语言中的函数定义的一般形式如下: return_type function_name( parameter list ) { body of the function } 在 C 语言中 ...

  6. Python全栈之路----常用模块----random模块

    程序中有很多地方需要用到随机字符,比如登陆网站的随机验证码,通过random模块可以很容易生成随机字符串. >>> import random >>> random ...

  7. jmeter4.0安装记录

    前提:jmeter需配置环境变量jdk,jmeter4.0版本需1.7以上版本, 查看jdk版本命令java -version 1.官网http://jmeter.apache.org/downloa ...

  8. Vue遇到的问题

      1.<a v-bind:[attributeName]="url"> ... </a> 报错,原因 attributeName应该属于关键字,不能用 2 ...

  9. PTA——完全数

    PTA 7-45 找完数 网友“云上明月”的程序: #include<stdio.h> int isPerfect(int num); int main() { ; int maxFact ...

  10. bzoj 2460 线性基

    #include<bits/stdc++.h> #define ll long long #define LL long long #define int long long using ...