一、下载phpexcel插件,并将插件放入项目中
1)到官方网站http://phpexcel.codeplex.com/下载最近版本的PHPExcel,解压后会发现里面有class、Documentation、Tests三个文件夹和三个txt的日志文件,主要用到的是Class文件夹里面的东西;
2)将Class文件夹复制到项目下\ThinkPHP\Library\Vendor目录下,并将文件夹重命名为PHPExcel;
3)在创建和调用PHPExcel相关的类和方法时,可能会遇到各种问题,例如:
二、phpexcel导出数据 步骤:
1)到官方网站http://phpexcel.codeplex.com/下载最近版本的PHPExcel,解压后会发现里面有class、Documentation、Tests三个文件夹和三个txt的日志文件,主要用到的是Class文件夹里面的东西;
2)将Class文件夹复制到项目下\ThinkPHP\Library\Vendor目录下,并将文件夹重命名为PHPExcel;
3)在创建和调用PHPExcel相关的类和方法时,可能会遇到各种问题,例如:
-
Class 'Home\Controller\PHPExcel' not found
-
Class 'Home\Controller\PHPExcel_IOFactory' not found
-
require(): Failed opening required 'D:\xampp\htdocs\qingqing\ThinkPHP\Library\Vendor/PHPExcel/Autoloader.php' (include_path='D:\xampp\php\PEAR')
import('vendor.PHPExcel.PHPExcel');
$phpexcel = new \PHPExcel();
$objWriter = \PHPExcel_IOFactory::createWriter($phpexcel, 'Excel2007');
二、phpexcel导出数据 步骤:
1)新键一个excel表格
2)创建sheet内置表
3)填充数据
4)保存文件
<span style="font-size:14px;">public function xls($data){
import('vendor.PHPExcel.PHPExcel');
$phpexcel = new \PHPExcel();
$objWriter = \PHPExcel_IOFactory::createWriter($phpexcel, 'Excel2007');
$objSheet = $phpexcel->getActiveSheet();
$objSheet->setCellValue('A1','编号')
->setCellValue('B1','姓名')
->setCellValue('C1','英语名')
->setCellValue('D1','性别')
->setCellValue('E1','出生日期')
->setCellValue('F1','民族')
->setCellValue('G1','籍贯')
->setCellValue('H1','政治面貌')
->setCellValue('I1','职业')
->setCellValue('J1','最高学历学校')
->setCellValue('K1','最高学历专业')
->setCellValue('L1','地址')
->setCellValue('M1','手机号')
->setCellValue('N1','手机号2')
->setCellValue('O1','QQ号')
->setCellValue('P1','微信号')
->setCellValue('Q1','邮箱')
->setCellValue('R1','兴趣特长');
foreach($data as $k=>$v){
$num = $k+2;
$objSheet
->setCellValue('A'.$num,$v['uid'])
->setCellValue('B'.$num,$v['name'])
->setCellValue('C'.$num,$v['ename'])
->setCellValue('D'.$num,$v['sex'])
->setCellValue('E'.$num,$v['born'])
->setCellValue('F'.$num,$v['nation'])
->setCellValue('G'.$num,$v['native'])
->setCellValue('H'.$num,$v['political'])
->setCellValue('I'.$num,$v['job'])
->setCellValue('J'.$num,$v['school'])
->setCellValue('K'.$num,$v['major'])
->setCellValue('L'.$num,$v['address'])
->setCellValue('M'.$num,$v['phone'])
->setCellValue('N'.$num,$v['phone2'])
->setCellValue('O'.$num,$v['qq'])
->setCellValue('P'.$num,$v['wechat'])
->setCellValue('Q'.$num,$v['email'])
->setCellValue('R'.$num,$v['hobby']);
}
$outfile = "workerList.xls";
$objSheet->setTitle('个人信息表');
$phpexcel->setActiveSheetIndex(0);
<span style="color:#FF0000;">ob_end_clean(); //清除缓冲区,避免乱码</span>
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header('Content-Disposition:inline;filename="'.$outfile.'"');
header("Content-Transfer-Encoding: binary");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Pragma: no-cache");
$objWriter->save('php://output');
exit;
}
}</span>
上面的函数传入的参数是一个带键值对的二维数组,打开下载下来的excel表格看到: