相对于laravel TP使用phpExcel比较麻烦,因为没有composer,所以必须先引入phpexcel文档

但是没有命名空间使用use因不进去,所以需要手动引入

namespace  app\index\controller;

use  think\Loader;

use  think\Controller;

class Excel extends Controller

{

function excel(){

$path=dirname(__FILE__);//找到当前脚本所在路径

Loader::import('PHPExcel.Classes.PHPExcel');

Loader::import('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory');

$PHPExcel=new\PHPExcel();

//        $PHPExcel_IOFactory = new PHPExcel_IOFactory();

$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表格数据导入数据库:

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-8

$excel_array=$obj_PHPExcel->getsheet(0)->toArray();//转换为数组格式

array_shift($excel_array);//删除第一个数组(标题);

$city=[];

foreach($excel_arrayas$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();

}

导出

publicfunctionphpexcel(){

//测试

$this->display("User:xx");//跨模块分配页面User模块xx.html

// xx\ThinkPHP/Extend/Vendor/Excel/PHPExcel.phpVendor('Excel.PHPExcel');//导入thinkphp第三方类库

//创建一个读Excel模板的对象$objReader=PHPExcel_IOFactory::createReader('Excel5');$objPHPExcel=$objReader->load ("template.xls");//读取模板,模版放在根目录

//获取当前活动的表

$objActSheet=$objPHPExcel->getActiveSheet();

$objActSheet->setTitle('xxx');//设置excel的标题

$objActSheet->setCellValue('A1','患者信息导出');

$objActSheet->setCellValue('A2','范围:'.time().'--'.time()+5000);

$objActSheet->setCellValue('F2','导出时间:'.date('Y-m-d H:i:s'));//现在开始输出列头了$objActSheet->setCellValue('A3','编号');

$objActSheet->setCellValue('B3','姓名');

$objActSheet->setCellValue('C3','性别');//具体有多少列,有多少就写多少,跟下面的填充数据对应上就可以

//现在就开始填充数据了 (从数据库中)

$baseRow= 4;//数据从N-1行开始往下输出 这里是避免头信息被覆盖

$list=array(array('id'=>'似懂非懂','name'=>'的身份','sex'=>'好好'),array('id'=>'体育静态','name'=>'全文','sex'=>'好那么好'),array('id'=>'他','name'=>'啥都','sex'=>'vb'),array('id'=>'大范甘迪','name'=>'后感觉','sex'=>'刚回家'),array('id'=>'阿瑟斯','name'=>'好','sex'=>'如啼眼'),array('id'=>'为二位','name'=>'福德宫','sex'=>'为'),);

foreach($listas$r=>$dataRow)

{$row=$baseRow+$r;//将数据填充到相对应的位置,对应上面输出的列头

$objPHPExcel->getActiveSheet()->setCellValue('A' .$row,$dataRow['id'] );

$objPHPExcel->getActiveSheet()->setCellValue('B' .$row,$dataRow['name'] );

$objPHPExcel->getActiveSheet()->setCellValue('C' .$row,$dataRow['sex'] );

}//导出$filename='xxx患者信息导出';//excel文件名称

$filename=iconv('utf-8',"gb2312",$filename);//转换名称编码,防止乱码

header( 'Content-Type: application/vnd.ms-excel;charset=utf-8');

header( 'Content-Disposition: attachment;filename="' .$filename. '.xls"' );//”‘.$filename.’.xls”

header( 'Cache-Control: max-age=0');

$objWriter= PHPExcel_IOFactory::createWriter ($objPHPExcel, 'Excel5' );//在内存中准备一个excel2003文件

$objWriter->save ('php://output');

}

参考链接:http://blog.csdn.net/will5451/article/details/51315267

http://www.thinkphp.cn/topic/48111.html

php excel引入tp,TP 引入phpExcel相关推荐

  1. TP框架引入第三方无命名空间类

    TP框架引入第三方无命名空间类 前言 通常我们引用第三方库都是通过composer,自动加载引用,不需要别麻烦,但是总会遇到没有可能服务器环境不同,composer问题等等,导致无法通过compose ...

  2. 纯js导出Excel文件(无需引入插件)

    纯js导出Excel文件(无需引入插件) 提示:代码没有来得及整理,大致代码都在这里 let thlist = [[{text: '序号', rowspan: '2'},{text: '姓名', ro ...

  3. excel oledb mysql_通用Excel设置外部数据源引入Access数据库数据时,提示:“尚未注册 OLE DB 访问接口 Microsoft.Ace.Oledb.12.0”...

    在通用Excel中开发各种ERP.CRM.OA.进销存.内控管理.项目管理.工程施工管理.客户关系管理.绩效考核管理.销售管理.采购管理.仓库管理.行政管理.财务管理.人事管理.生产管理.考勤管理等系 ...

  4. php中跨页面id的获取,excel跨表格提取数据?phpexcel 读取excel里的数据并在页面显示出来...

    php怎么读取excel 文件数据并输出 PHPExcel PHPExcel 是用来操作Office Excel 文一个PHP类库,它基于微软的OpenXML和PHP语言.可以使用它来.写入不同格式的 ...

  5. vue项目中element-ui全局引入按需引入按需引入报错解决

    elementUI中文网址: https://element.eleme.cn/#/zh-CN/component/layout 全局引入 1.安装element-ui cnpm install el ...

  6. 微信小程序引入less并引入公共样式

    微信小程序引入less并引入公共样式 在原生微信小程序开发中,直接使用wxss来写组件样式是非常麻烦的,它不能进行嵌套书写,也不能声明变量,所以我们经常会引入一些css编译器来辅助我们书写样式,例如l ...

  7. header()实现PHP最简单的导出excel,不需要引入操作excel类库

    最新的项目,因为涉及到资金,需要导出excel.先找到项目后台原本的导出功能,挺简陋的不满足项目要求,需要优化.它没有引入任何操作excel的类库,直接获取数据拼接,中间用iconv()函数将字符串从 ...

  8. php excel导入数据库显示乱码,php修改excel表格数据库数据格式-使用phpexcel导入excel表格数据到MYSQL,乱码怎么解决...

    PHP 用PHPExcel往数据库导入大量数据 估计0是null,所以不显示了,可以换个思路,让他显示为字符串 $number = 0; echo ''.$number 原生PHP代码实现excel导 ...

  9. php excel 类,【PHP】PHPExcel类 excel常用操作小结

    PHP使用好久了,好像今天才想起来要记一篇博客呢.之前一直用的 ci 框架,后来做接口的时候打算换成 tp5, 不料机缘巧合之下又结识了 node,于是乎决然的站到了 js 的大营之下.PHP这块我会 ...

  10. uniapp怎么引入css_Uniapp怎么引入外部js

    Uniapp引入外部js的方法:首先新建一个indexl文件,引入外部js,代码为[]:然后打开manifest文件. 本教程操作环境:windows7系统.uni-app2.5.1版本,该方法适用于 ...

最新文章

  1. 手写html5游戏,HTML5 手写输入法
  2. Python中做接口自动化如何读取配置ini文件
  3. 别再说学习无趣了,跟你分享这 8 条 Python 奇技淫巧!
  4. EasyRTMP实现的rtmp推流的基本协议流程
  5. 访问网络共享时出现“拒绝访问”
  6. 响应式滚动图懒加载 element ui el-carousel 组件优化代码
  7. 看涨戴尔科技的八大原因
  8. 你那不是拖延症,只是习惯性逃避
  9. FMCW激光雷达原理推导公式
  10. 项目报错信息如下:java.text.ParseException: Unparseable date: “Wed Aug 03 2022 00:00:00 GMT+0800 (中国标准时间)“
  11. 搭窝---开篇语---爆笑语录
  12. 汇编语言上机考试三星题——负数变成绝对值,并以十进制方式输出。
  13. Java selenium 爬取 星图
  14. 安卓调用手机自带的浏览器
  15. 查看云主机是否有显卡,配置如何?
  16. pfx私有证书转cer公钥格式证书
  17. UBLOX F9P搭建NtripCaster组建RTK
  18. torch.diag()
  19. SAP外协采购单和销售单需求关闭预留未清处理方法
  20. 魔兽争霸 java_魔兽maphack其实很简单

热门文章

  1. 如何设置电脑的保护色?
  2. word怎么设置分栏 word设置分栏的方法
  3. 实现HTML格式电子邮件群发
  4. ubuntu18.04(Jetson)以及火狐浏览器设置终端代理和清除代理命令
  5. Flash地址空间的数据读取——STM32
  6. 三维分子模型软件PyMOL
  7. 重邮python实验课之华氏温度转摄氏温度速查表
  8. 使用Matlab将多个图形Figure文件合并
  9. cps linux命令,Linux基本网络及文件传输命令
  10. linux系统启用夏令时,在Debian Linux中禁用夏令时