phpexcel クラスを使用した xls ドキュメント形式のエクスポート コード例
便宜上、csv メソッドを使用して xls ドキュメントをエクスポートしました。現在、要件が変更され、結合されたセルの形式で表示されるドキュメントをエクスポートする必要があります。今回はphpexcelを使って幅や中央揃え、数値の書式などセルの書式を生成・設定します。
基本的な手順は、PHPExcel.php ファイルをロードし、PHPExcel クラスをインスタンス化し、データを書き込み、セルをフォーマットすることです。
エフェクトのスクリーンショットは次のとおりです:
コードは次のとおりです:
<?php include './Classes/PHPExcel.php'; $phpexcel=new PHPExcel(); $phpexcel->setActiveSheetIndex(0);//设置活动sheet $objActSheet = $phpexcel->getActiveSheet();//获取当前活动sheet对象 $objActSheet->setCellValue('A1','单号')->mergeCells('A1:A2'); $objActSheet->setCellValue('B1','出行人')->mergeCells('B1:D1'); $objActSheet->setCellValue('B2','姓名'); $objActSheet->setCellValue('C2','年龄'); $objActSheet->setCellValue('D2','性别'); $objActSheet->setCellValue('E1','时间')->mergeCells('E1:E2'); $objActSheet->setCellValue('A3','201512010001'); $objActSheet->setCellValue('B3','小张'); $objActSheet->setCellValue('C3','28'); $objActSheet->setCellValue('D3','男'); $objActSheet->setCellValue('E3','2015-12-01'); $objActSheet->setCellValue('A4','201512010002'); $objActSheet->setCellValue('B4','小妹'); $objActSheet->setCellValue('C4','24'); $objActSheet->setCellValue('D4','女'); $objActSheet->setCellValue('E4','2015-12-02'); $objStyleA1 = $objActSheet->getStyle('A1'); //设置单元格内容的数字格式,原始内容全部显示出来 $objStyleA1 ->getNumberFormat() ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER); //设置水平居中,垂直居中 $objStyleA1->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); $objStyleA1->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //从指定的单元格复制样式信息. $objActSheet->duplicateStyle($objStyleA1, 'A1:E4'); //设置单元格的宽度 $objActSheet->getColumnDimension('A')->setWidth(25); $objActSheet->getColumnDimension('A')->setWidth(10); $objActSheet->getColumnDimension('A')->setWidth(10); $objActSheet->getColumnDimension('A')->setWidth(10); $objActSheet->getColumnDimension('A')->setWidth(16); header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header('Content-Disposition:inline;filename="demo.xls"'); header("Content-Transfer-Encoding: binary"); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Pragma: no-cache"); $objWriter = PHPExcel_IOFactory::createWriter($phpexcel, 'Excel5'); $objWriter->save('php://output'); ?>