1.首先在PHPExcel官网上面下载安装包下载地址为:https://github.com/PHPOffice/PHPExcel
2.将PHPExcel里的classes文件夹改名为PHPExcel,并且复制到tp5框架下的vendor文件内
3.在控制器中用PHPExcel,只需要
vendor(“PHPExcel.PHPExcel”);
即可。
4.例子如下:
//下面两个函数放入控制器中,直接使用即可
public function lst()
{
//此方法成功了,配合下面的public static function excelPut(Excel,Excel,Excel,expTableData){函数
//不使用compose,将phpexcel文件夹放入vendor
//读取sql数据
$res = array(
array(‘王城’, ‘男’, ‘18’, ‘1997-03-13’, ‘18948348924’),
array(‘李飞虹’, ‘男’, ‘21’, ‘1994-06-13’, ‘159481838924’),
array(‘王芸’, ‘女’, ‘18’, ‘1997-03-13’, ‘18648313924’),
array(‘郭瑞’, ‘男’, ‘17’, ‘1998-04-13’, ‘15543248924’),
array(‘李晓霞’, ‘女’, ‘19’, ‘1996-06-13’, ‘18748348924’),
);

    //文件名称$Excel['fileName']="安全表".date('Y年m月d日-His',time());//or $xlsTitle$Excel['cellName']=['A','B','C','D','E','F','G','H','I','J'];//$Excel['H'] = ['A'=>5,'B'=>12,'C'=>12,'D'=>12,'E'=>12,'F'=>12,'G'=>12,'H'=>12,'I'=>12,'J'=>12];//横向水平宽度$Excel['V'] = ['1'=>40,'2'=>26];//纵向垂直高度$Excel['sheetTitle']="安全清单";//大标题,自定义//excel每列的名字$Excel['xlsCell']=[ [0,'ID'],[1,'岗位'],[2,'部门'],[3,'日期'],[4,'事件时段']];//excel表单数据$this->excelPut($Excel,$res);}//输出到Excel
//1.去网上下载PHPExcel,将classes文件重命名为PHPExcel
//2.将重命名后的classes文件夹(即PHPExcel)复制到tp5框架下的vendor文件下
//3.然后就可以使用vendor("PHPExcel.PHPExcel");

public static function excelPut(Excel,Excel,Excel,expTableData){
Excel[′sheetTitle′]=iconv(′utf−8′,′gb2312′,Excel['sheetTitle']=iconv('utf-8', 'gb2312',Excel[′sheetTitle′]=iconv(′utf−8′,′gb2312′,Excel[‘sheetTitle’]);
$cellName = $Excel[‘cellName’];
$xlsCell = $Excel[‘xlsCell’];
cellNum=count(cellNum = count(cellNum=count(xlsCell);//计算总列数
dataNum=count(dataNum = count(dataNum=count(expTableData);//计算数据总行数
vendor(“PHPExcel.PHPExcel”);
$objPHPExcel = new \PHPExcel();
$sheet0 = $objPHPExcel->getActiveSheet(0);
$sheet0->setTitle(“Sheet1”);//设置sheet名称
//设置表格标题A1
sheet0−>mergeCells(′A1:′.sheet0->mergeCells('A1:'.sheet0−>mergeCells(′A1:′.cellName[$cellNum-1].‘1’);//表头合并单元格
objPHPExcel−>setActiveSheetIndex(0)−>setCellValue(′A1′,objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1',objPHPExcel−>setActiveSheetIndex(0)−>setCellValue(′A1′,Excel[‘fileName’]);
// objPHPExcel−>setActiveSheetIndex(0)//−>setCellValue(′A1′,objPHPExcel->setActiveSheetIndex(0) // ->setCellValue('A1',objPHPExcel−>setActiveSheetIndex(0)//−>setCellValue(′A1′,Excel[‘sheetTitle’].date(‘Y年m月d日’,time()));
$sheet0->getStyle(‘A1’)->getFont()->setSize(20);
sheet0−>getStyle(′A1′)−>getFont()−>setName(′微软雅黑′);//设置行高和列宽//横向水平宽度if(isset(sheet0->getStyle('A1')->getFont()->setName('微软雅黑'); //设置行高和列宽 //横向水平宽度 if(isset(sheet0−>getStyle(′A1′)−>getFont()−>setName(′微软雅黑′);//设置行高和列宽//横向水平宽度if(isset(Excel[‘H’])){
foreach ($Excel[‘H’] as $key => $value) {
sheet0−>getColumnDimension(sheet0->getColumnDimension(sheet0−>getColumnDimension(key)->setWidth(KaTeX parse error: Expected 'EOF', got '}' at position 16: value); }̲ } //纵向…Excel[‘V’])){
foreach ($Excel[‘V’] as $key => $value) {
sheet0−>getRowDimension(sheet0->getRowDimension(sheet0−>getRowDimension(key)->setRowHeight($value);
}
}
//第二行:表头要加粗和居中,加入颜色
$sheet0->getStyle(‘A1’)
->applyFromArray([‘font’ => [‘bold’ => false],‘alignment’ => [‘horizontal’ => \PHPExcel_Style_Alignment::HORIZONTAL_CENTER,‘vertical’=>\PHPExcel_Style_Alignment::VERTICAL_CENTER]]);
$setcolor = sheet0−>getStyle("A2:".sheet0->getStyle("A2:".sheet0−>getStyle("A2:".cellName[$cellNum-1].“2”)->getFill();
$setcolor->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);
// $colors=[‘00a000’,‘53a500’,‘3385FF’,‘00a0d0’,‘D07E0E’,‘c000c0’,‘0C8080’,‘EFE4B0’];//设置总颜色
// selectcolor=selectcolor=selectcolor=colors[mt_rand(0,count($colors)-1)];//获取随机颜色
// setcolor−>getStartColor()−>setRGB(setcolor->getStartColor()->setRGB(setcolor−>getStartColor()−>setRGB(selectcolor);
setcolor−&gt;getStartColor()−&gt;setRGB(′A6A6A6′);//根据表格数据设置列名称for(setcolor-&gt;getStartColor()-&gt;setRGB('A6A6A6'); //根据表格数据设置列名称 for(setcolor−>getStartColor()−>setRGB(′A6A6A6′);//根据表格数据设置列名称for(i=0;i&lt;i&lt;i<cellNum;$i++){
objPHPExcel−&gt;setActiveSheetIndex(0)−&gt;setCellValue(objPHPExcel-&gt;setActiveSheetIndex(0) -&gt;setCellValue(objPHPExcel−>setActiveSheetIndex(0)−>setCellValue(cellName[$i].‘2’, xlsCell[xlsCell[xlsCell[i][1])
->getStyle(cellName[cellName[cellName[i].‘2’)
->applyFromArray([‘font’ => [‘bold’ => true],‘alignment’ => [‘horizontal’ => \PHPExcel_Style_Alignment::HORIZONTAL_CENTER,‘vertical’=>\PHPExcel_Style_Alignment::VERTICAL_CENTER]]);
}
//body:渲染表中数据内容部分
for(i=0;i=0;i=0;i<dataNum;dataNum;dataNum;i++){
for(j=0;j=0;j=0;j<cellNum;cellNum;cellNum;j++){
sheet0−&gt;getStyle(sheet0-&gt;getStyle(sheet0−>getStyle(cellName[j].(j].(j].(i+3))->applyFromArray([‘alignment’ => [‘horizontal’ => \PHPExcel_Style_Alignment::HORIZONTAL_CENTER,‘vertical’=>\PHPExcel_Style_Alignment::VERTICAL_CENTER]]);
sheet0−&gt;setCellValueExplicit(sheet0-&gt;setCellValueExplicit(sheet0−>setCellValueExplicit(cellName[j].(j].(j].(i+3),expTableData[expTableData[expTableData[i][xlsCell[xlsCell[xlsCell[j][0]],\PHPExcel_Cell_DataType::TYPE_STRING);
sheet0−&gt;getStyle(sheet0-&gt;getStyle(sheet0−>getStyle(cellName[j].(j].(j].(i+3))->getNumberFormat()->setFormatCode("@");
}
}
//设置边框
sheet0−&gt;getStyle(′A2:′.sheet0-&gt;getStyle('A2:'.sheet0−>getStyle(′A2:′.cellName[cellNum−1].(cellNum-1].(cellNum−1].(i+2))->applyFromArray([‘borders’ => [‘allborders’ => [‘style’ => \PHPExcel_Style_Border::BORDER_THIN]]]);
//sheet0−&gt;setCellValue(&quot;A&quot;.(sheet0-&gt;setCellValue(&quot;A&quot;.(sheet0−>setCellValue("A".(dataNum+10)," “);//多设置一些行
header(‘pragma:public’);
header('Content-type:application/vnd.ms-excel;charset=utf-8;name=”’.Excel[′sheetTitle′].′.xlsx&quot;′);header(&quot;Content−Disposition:attachment;filename=&quot;.Excel['sheetTitle'].'.xlsx&quot;'); header(&quot;Content-Disposition:attachment;filename=&quot;.Excel[′sheetTitle′].′.xlsx"′);header("Content−Disposition:attachment;filename=".Excel[‘fileName’].".xlsx");
//attachment新窗口打印inline本窗口打印
KaTeX parse error: Expected 'EOF', got '\PHPExcel' at position 13: objWriter = \̲P̲H̲P̲E̲x̲c̲e̲l̲_IOFactory::cre…objPHPExcel, ‘Excel2007’);
$objWriter->save(‘php://output’);
exit;
}

tp5.0操作phpexcel相关推荐

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

    TP5.0 PHPExcel 数据表格导出导入(引) 今天看的是PHPExcel这个扩展库,Comporse 下载不下来,最后只能自己去github里面手动下载,但有一个问题就是下载下来的PHPExc ...

  2. 入口文件到控制器 php,tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析...

    本文实例讲述了tp5.0框架隐藏index.php入口文件及模块和控制器的方法.分享给大家供大家参考,具体如下: 1. 隐藏入口文件: [ IIS ] 在IIS的高版本下面可以配置web.Config ...

  3. 微信公众号开发完整教程(一) PHP7.0版本,TP5.0框架

    因为工作的需要,这一两年对微信公众号和小程序,项目制作的比较多.所以我才打算写一篇全面的制作教程,当然了,最好的教程是微信工作平台的文档.我这里只是讲述一下我的工作中的制作流程.所有相关文章的源码,我 ...

  4. TP5.0之微信开发

    TP5.0之微信开发 开发准备工作 获取微信open_id和微信用户信息 微信支付之公众号支付 微信支付jssdk 开发准备工作 1.微信开发文档 https://mp.weixin.qq.com/w ...

  5. tp3.x和tp5.0的区别

    助手函数 5.0助手函数和3.2版本的单字母函数对比如下: 3.2版本 5.0版本 C config E exception G debug L lang T 废除 I input N 废除 D mo ...

  6. 让TP5.0在SWOOLE上飞起来

    TP-SWOOLE 目前,TP5.1官方已经提供了think-swoole2.0,集成程度以前优雅很多,不过5.0的集成方式确实有些鸡肋.所以看了下2.0,为5.0开发了一个扩展包,可以采用compo ...

  7. rtk采点后如何导入cad_【干货】RTK实操视频:工程之星5.0操作攻略!(第五部分)...

    前期回顾:[干货]RTK实操视频:工程之星5.0操作攻略!(第一部分)[干货]RTK实操视频:工程之星5.0操作教程(第二部分) [干货]RTK实操视频:工程之星5.0操作攻略!(第三部分) [干货] ...

  8. tp5.0 think-queue 消息队列

    安装 think-queue composer require topthink/think-queue 1.1.4 不加版本号 默认安装的最新的queue ,适用于tp6.0. 使用tp5.0 只需 ...

  9. php股票t+0,股票t文档教材+0操作宝典.pdf

    /index.php 中国第一股票权证论坛 股票 T+0 操作宝典 典 股票 T+0 操作宝 股票 T+0 操作宝典 先来了解一下什么是T+0: "T 是英文 Trade 的首字母,是交易的 ...

最新文章

  1. 如何配置jdk环境变量
  2. pbs分解_UML使用产品分解结构(PBS)教程
  3. python语法基础知识总结-Python基础知识梳理 - 第01部分
  4. TopCoder-SRM632-DIV1-300pt-PotentialArithmeticSequence-归纳推理+枚举
  5. kubeadm单集群部署k8s1.15.1flannel网络
  6. Vue项目中公用footer组件底部位置的适配问题
  7. 各种编程语言的按钮输入框
  8. 前端学习(3078):vue+element今日头条管理-分页总页码的实现
  9. 买买买!iPhone 13全系曝光:价格给力
  10. 如何保存windows聚焦壁纸
  11. python语言程序设计实践教程陈东_《Python程序设计》(陈春晖)【摘要 书评 试读】- 京东图书...
  12. VS中为非控制台程序提供控制台输出窗口
  13. 7种方式实现3栏布局
  14. 做scratch游戏心得1
  15. 机器学习(3)——有监督学习
  16. 育儿-《养育男孩》书中的精髓:父母如何理解男孩的每个成长阶段,更好地培养男孩?
  17. Html入门学习总结
  18. Mac如何安装MySQL和Navicat
  19. 成为云计算产品经理的前提
  20. 科学计算机 logo,电脑上各种标志的源起(一)

热门文章

  1. shell脚本案例(一):常见运维面试题
  2. 21 树莓派和电脑之间串口通讯编程
  3. 中文版orgin图像数字化工具_Plot Digitizer
  4. guess在Java中用法_guess的用法总结大全
  5. 【快速统计面积周长】封闭图形快速面积求和CAD插件【LSP】
  6. woocommerce 货币符号调整修改
  7. 【若泽大数据实战第七天】MySQL在DBeaver上的使用
  8. 如何使用金桔ibeacon进行准确的室内定位
  9. 第24课 Altium Designer20(AD20)+VESC6.4实战教程:长走线、元器件散热与GND铺铜的处理(北冥有鱼)
  10. 运用php制作一个表单,PHP 表单处理,一个简单的 HTML 表单