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( E x c e l , 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( E x c e l , Excel, Excel,expTableData){
E x c e l [ ′ s h e e t T i t l e ′ ] = i c o n v ( ′ u t f − 8 ′ , ′ g b 231 2 ′ , Excel['sheetTitle']=iconv('utf-8', 'gb2312', Excel[′sheetTitle′]=iconv(′utf−8′,′gb2312′,Excel[‘sheetTitle’]);
$cellName = $Excel[‘cellName’];
$xlsCell = $Excel[‘xlsCell’];
c e l l N u m = c o u n t ( cellNum = count( cellNum=count(xlsCell);//计算总列数
d a t a N u m = c o u n t ( dataNum = count( dataNum=count(expTableData);//计算数据总行数
vendor(“PHPExcel.PHPExcel”);
$objPHPExcel = new \PHPExcel();
$sheet0 = $objPHPExcel->getActiveSheet(0);
$sheet0->setTitle(“Sheet1”);//设置sheet名称
//设置表格标题A1
s h e e t 0 − > m e r g e C e l l s ( ′ A 1 : ′ . sheet0->mergeCells('A1:'. sheet0−>mergeCells(′A1:′.cellName[$cellNum-1].‘1’);//表头合并单元格
o b j P H P E x c e l − > s e t A c t i v e S h e e t I n d e x ( 0 ) − > s e t C e l l V a l u e ( ′ A 1 ′