1.下载phpExcel最新版 http://phpexcel.codeplex.com/
2.将Classes文件夹里的文件放于TP框架的\ThinkPHP\Library\Org\Util 目录下
在代码中用以下方式导入phpExcel
import(“Org.Util.PHPExcel”);
3.导出数据到excel表
(1)创建phpExcel对象,相当于新建一个Excel文件,里面生成了一张sheet工作表并默认为活动表
$objPHPExcel=new \PHPExcel();
(2)创建新的工作表
$objPHPExcel->createSheet();
(3)设置某个工作表为活动表
$objPHPExcel->setActiveSheetIndex($index);//index是表序号,从0开始
(4).设置活动表标题
$objPHPExcel->getActiveSheet()->setTitle('test页');
(5).设置单元格样式
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20); //A列宽度
$objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(20); //首行高度
引用样式数组
$first_styleArray = array(
'font' => array(
'bold' => true,
'size' => '11px',
),
'alignment' => array(
'horizontal' => \PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
),
'borders' => array(
'allborders' => array(
'style' => \PHPExcel_Style_Border::BORDER_THIN,
'color' => array('argb' => '0D0D0D'),
),
),
);
$objPHPExcel->getActiveSheet()->getStyle('A1:H1')->applyFromArray($first_styleArray);
(6).设置单元格边框样式
$border_styleArray = array(
'borders' => array(
'allborders' => array(
'style' => \PHPExcel_Style_Border::BORDER_THIN,
'color' => array('argb' => '0D0D0D'),
)
),
);
$objPHPExcel->getActiveSheet()->getStyle('A1:H100')->applyFromArray($border_styleArray);
(7).设置单元格格式为文本格式
$objPHPExcel->getActiveSheet()->getStyle('A1:H100')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
(8).单元格填充数值
$objPHPExcel->getActiveSheet()->setCellValue('A2', '小明');
4.导出excel文件到浏览器
(1)生成xls文件
$objWriter=\PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5');//生成excel文件
(2)设置浏览器输出头部参数
private function browser_export($type,$filename){
if($type=="Excel5"){
header('Content-Type: application/vnd.ms-excel');//告诉浏览器将要输出excel03文件
}else{
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');//告诉浏览器数据excel07文件
}
header('Content-Disposition: attachment;filename="'.$filename.'"');//告诉浏览器将输出文件的名称
header('Cache-Control: max-age=0');//禁止缓存
}
(3)浏览器导出xls文件
$filename ='test.xls';
$this->browser_export('Excel5',$filename);//输出到浏览器
$objWriter->save("php://output");