tp5使用PHPExcel

2019-04-29  本文已影响0人  Medicine_8d60

tp5使用PHPExcel
到PHPExcel 官网下载 phpexcel压缩包 只要Classes目录 解压到vendor 下面
控制器:

use Classes\PHPExcel_IOFactory;
use Classes\PHPExcel;

/数据导出/
public function out(){
// echo "123";exit();
$path=dirname(FILE);
/加载phpexcel/
vendor("PHPExcel.Classes.PHPExcel.PHPExcel");
vendor("PHPExcel.Classes.PHPExcel.Writer.IWriter");
vendor("PHPExcel.Classes.PHPExcel.Writer.Abstract");
vendor("PHPExcel.Classes.PHPExcel.IOFactory");
vendor("PHPExcel.Classes.PHPExcel.Writer.Excel5");
vendor("PHPExcel.Classes.PHPExcel.Writer.Excel2007");

objPHPExcel=new \PHPExcel;objWriter=new \PHPExcel_Writer_Excel5(objPHPExcel);objWriter=new \PHPExcel_Writer_Excel2007(objPHPExcel); //sql = db('message')->select();
sql=this->dao->table('base_user')->field('phone,id,create_time')->limit('30')->select();

/--------------设置表头信息------------------/
$objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1', 'ID编号') ->setCellValue('B1', '手机号码') ->setCellValue('C1', '入库时间');
/这里的A1,B1是A列第一行。以此类推,就是表头了,想要哪些信息就写什么,只要数据库有,接下来可以对的上就行。/

/--------------开始从数据库提取信息插入Excel表中------------------/
i=2; //定义一个i变量,目的是在循环输出数据是控制行数 /*i = 2,因为第一行是表头,所以写到表格时候只能从第二行开始写。/
count = count(sql); //计算有多少条数据
for (i = 2;i <= count+1;i++) {
objPHPExcel->getActiveSheet()->setCellValue('A' .i, sql[i-2]['id']);
objPHPExcel->getActiveSheet()->setCellValue('B' .i, sql[i-2]['phone']); objPHPExcel->getActiveSheet()->setCellValue('C' .i, date('Y-m-d H:i:s',sql[i-2]['create_time']));
}
/
接下来就是设置导入表的名称等内容了/
/
--------------下面是设置其他信息------------------*/

objPHPExcel->getActiveSheet()->setTitle('message'); //设置sheet的名称objPHPExcel->setActiveSheetIndex(0); //设置sheet的起始位置
objWriter = \PHPExcel_IOFactory::createWriter(objPHPExcel, 'Excel5'); //通过PHPExcel_IOFactory的写函数将上面数据写出来
PHPWriter = \PHPExcel_IOFactory::createWriter(objPHPExcel,"Excel2007");
header('Content-Disposition: attachment;filename="用户信息.xlsx"');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
PHPWriter->save("php://output"); //表示在path路径下面生成demo.xlsx文件
}

上一篇下一篇

猜你喜欢

热点阅读