通过引入phpexcel库,就可以使用phpexcel提供的工具来创建excel表格,在报表制作中非常实用,可以用于系统后台batch中表格的制作。
$objPHPExcel
->getProperties() //获得文件属性对象,给下文提供设置资源
->setCreator( "Maarten Balliauw") //设置文件的创建者
->setLastModifiedBy( "Maarten Balliauw") //设置最后修改者
->setTitle( "Office 2007 XLSX Test Document" ) //设置标题
->setSubject( "Office 2007 XLSX Test Document" ) //设置主题
->setDescription( "Test document for Office 2007 XLSX, generated using PHP classes.") //设置备注
->setKeywords( "office 2007 openxml php") //设置标记
->setCategory( "Test result file"); //设置类别
// 给表格添加数据
$objPHPExcel->setActiveSheetIndex(0) //设置第一个内置表(一个xls文件里可以有多个表)为活动的
->setCellValue( 'A1', 'Hello' ) //给表的单元格设置数据
->setCellValue( 'B2', 'world!' ) //数据格式可以为字符串
->setCellValue( 'C1', 12) //数字型
->setCellValue( 'D2', 12) //
->setCellValue( 'D3', true ) //布尔型
->setCellValue( 'D4', '=SUM(C1:D2)' ); //公式
//创建一个新工作表,并设置活动
$objPHPExcel->createSheet();
$objPHPExcel->setActiveSheetIndex(1);
//得到当前活动的表
$objActSheet = $objPHPExcel->getActiveSheet();
//内容自适应
$objActSheet->getColumnDimension('A')->setAutoSize(true);
//设置背景色
$objActSheet->getStyle('N')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objActSheet->getStyle('N')->getFill()->getStartColor()->setARGB('FFFFFF00');
//左右居中
$objActSheet->getStyle('A18')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//上下居中
$objActSheet->getStyle('A18')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
//合并单元格
$objActSheet->mergeCells("A1:A12");
//设置标签title
$objActSheet->setTitle('sheet1');
//写出文件
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save(str_replace('.php', '.xlsx', __FILE__));