getActiveSheet(); $fileName = "sample.xlsx"; //ファイル名を設定 $sheet->setTitle("シートタイトル"); //シートタイトル名を設定 /* プロパティ情報の編集 */ $spreadsheet->getProperties() ->setTitle("タイトル") ->setSubject("件名") ->setKeywords("タグ") ->setCategory("分類項目") ->setDescription("コメント") ->setCreator("作成者名") ->setLastModifiedBy("前回保存者名") ->setCompany('会社名') ->setManager('マネージャー名') ->setCreated(strtotime('2020-01-02 03:04:05')) //コンテンツの作成日時 ->setModified(strtotime('2020-02-03 04:05:06'));//前回保存日時 /* 値とセルを指定 */ $sheet->setCellValue('A1', '↑A列:幅14'); $sheet->setCellValue('A2', '←2行:高さ27'); $sheet->setCellValue('B1', 'テキスト'); $sheet->setCellValue('B3', '左寄せ'); $sheet->setCellValue('B5', '上寄せ'); $sheet->setCellValue('B7', 'テキストの折り返し'); $sheet->setCellValue('B13', 'セル(B13,C13,D13)の結合'); $sheet->setCellValue('B15', 'B15からD15まで枠線を表示'); $sheet->setCellValue('B17', '枠線全て'); $sheet->setCellValue('B22', '内側のみ'); $sheet->setCellValue('B27', '縦線のみ'); $sheet->setCellValue('B32', '横線のみ'); $sheet->setCellValue('C1', '文字色'); $sheet->setCellValue('C3', '中央(横)'); $sheet->setCellValue('C5', '中央(縦)'); $sheet->setCellValue('D1', '背景色'); $sheet->setCellValue('D3', '右寄せ'); $sheet->setCellValue('D5', '下寄せ'); $sheet->setCellValue('E1', '文字サイズ'); $sheet->setCellValue('F3', '枠線(細)'); $sheet->setCellValue('F5', '枠線(太)'); $sheet->setCellValue('F7', '左線'); $sheet->setCellValue('F9', '上線'); $sheet->setCellValue('F11', '右線'); $sheet->setCellValue('F13', '下線'); $sheet->setCellValue('F15', '枠線赤'); $sheet->setCellValue('F17', '点線'); $sheet->setCellValue('F19', '長い点線'); $sheet->setCellValue('F21', '二重線'); $sheet->setCellValue('F23', '細線'); $sheet->setCellValue('F25', '太線'); $sheet->setCellValue('F27', '配列で指定'); /* 配列の形で値を設定 */ $dataList = array( array('配列の形で値を設定'), array(NULL, 1, 2), array(3, 4, 5), ); $sheet->fromArray($dataList, NULL, 'B9', true);//指定したセル(B9)を起点に値を挿入する /* 列の横幅を設定 */ $sheet->getColumnDimension('A')->setWidth(14); //列(A)の幅を14に設定 $sheet->getColumnDimension('A')->setAutosize(false); //true:列(A)の幅を自動調整, false:自動調整しない /* 行の縦幅を設定 */ $sheet->getRowDimension('2')->setRowHeight(27); //行(2)の高さを27に設定 /* 枠線を設定 */ $sheet->getStyle('B15:D15')->applyFromArray(array('borders' => array('outline' => array('style' => PHPExcel_Style_Border::BORDER_THIN)))); //B15からD15まで外枠線を表示 $sheet->getStyle('B18:D20')->applyFromArray(array('borders' => array('allborders' => array('style' => PHPExcel_Style_Border::BORDER_THIN)))); //allborders:全て $sheet->getStyle('B23:D25')->applyFromArray(array('borders' => array('inside' => array('style' => PHPExcel_Style_Border::BORDER_THIN)))); //inside:内側のみ $sheet->getStyle('B28:D30')->applyFromArray(array('borders' => array('vertical' => array('style' => PHPExcel_Style_Border::BORDER_THIN)))); //vertical:縦線のみ $sheet->getStyle('B33:D35')->applyFromArray(array('borders' => array('horizontal' => array('style' => PHPExcel_Style_Border::BORDER_THIN)))); //vertical:横線のみ $sheet->getStyle('F3')->applyFromArray(array('borders' => array('allborders' => array('style' => PHPExcel_Style_Border::BORDER_THIN)))); //BORDER_THIN:通常線 $sheet->getStyle('F5')->applyFromArray(array('borders' => array('allborders' => array('style' => PHPExcel_Style_Border::BORDER_THICK)))); //BORDER_THICK:BORDER_MEDIUMより太線 $sheet->getStyle('F7')->applyFromArray(array('borders' => array('left' => array('style' => PHPExcel_Style_Border::BORDER_THIN)))); //left:左線 $sheet->getStyle('F9')->applyFromArray(array('borders' => array('top' => array('style' => PHPExcel_Style_Border::BORDER_THIN)))); //top:上線 $sheet->getStyle('F11')->applyFromArray(array('borders' => array('right' => array('style' => PHPExcel_Style_Border::BORDER_THIN)))); //right:右線 $sheet->getStyle('F13')->applyFromArray(array('borders' => array('bottom' => array('style' => PHPExcel_Style_Border::BORDER_THIN)))); //bottom:下線 $sheet->getStyle('F15')->applyFromArray(array('borders' => array('allborders' => array('style' => PHPExcel_Style_Border::BORDER_THIN, 'color' => array('rgb' => 'ff0000'))))); //枠線の色を赤に設定 $sheet->getStyle('F17')->applyFromArray(array('borders' => array('allborders' => array('style' => PHPExcel_Style_Border::BORDER_DOTTED)))); //BORDER_DOTTED:点線 $sheet->getStyle('F19')->applyFromArray(array('borders' => array('allborders' => array('style' => PHPExcel_Style_Border::BORDER_DASHED)))); //BORDER_DASHED:長い点線 $sheet->getStyle('F21')->applyFromArray(array('borders' => array('allborders' => array('style' => PHPExcel_Style_Border::BORDER_DOUBLE)))); //BORDER_DOUBLE:二重線 $sheet->getStyle('F23')->applyFromArray(array('borders' => array('allborders' => array('style' => PHPExcel_Style_Border::BORDER_HAIR)))); //BORDER_HAIR:細線 $sheet->getStyle('F25')->applyFromArray(array('borders' => array('allborders' => array('style' => PHPExcel_Style_Border::BORDER_MEDIUM)))); //BORDER_MEDIUM:太線 $borderStyle = array( 'borders' => array( 'top' => array('style' => PHPExcel_Style_Border::BORDER_THIN), 'right' => array('style' => PHPExcel_Style_Border::BORDER_THIN), 'left' => array('style' => PHPExcel_Style_Border::BORDER_THIN), 'bottom' => array('style' => PHPExcel_Style_Border::BORDER_THIN) ) ); $sheet->getStyle('F27')->applyFromArray($borderStyle); //配列で指定 /* テキストの配置を設定 */ $sheet->getStyle('B3')->getAlignment()->setHorizontal('left'); //left:左寄せ $sheet->getStyle('B5')->getAlignment()->setVertical('top'); //top:上寄せ $sheet->getStyle('C3')->getAlignment()->setHorizontal('center');//center:中央寄せ(横) $sheet->getStyle('C5')->getAlignment()->setVertical('center'); //top:中央寄せ(縦) $sheet->getStyle('D3')->getAlignment()->setHorizontal('right'); //right:右寄せ $sheet->getStyle('D5')->getAlignment()->setVertical('bottom'); //top:下寄せ /* テキストの折り返しを設定 */ $sheet->getStyle('B7')->getAlignment()->setWrapText(true); /* セルを連結 */ $sheet->mergeCells('B13:D13'); /* 文字色を設定 */ $sheet->getStyle('C1')->getFont()->getColor()->setARGB('ff0000'); //C1セルの文字色を赤に設定 /* 背景色を設定 */ $sheet->getStyle('D1')->getFill()->setFillType('solid')->getStartColor()->setARGB('00ffff'); //D1セルの背景色を水色に設定 /* 文字サイズを設定 */ $sheet->getStyle('E1')->getFont()->setSize(18); //E1セルの文字サイズを18に設定 /* 改行のある文字を入力 */ $sheet->getStyle('C7')->getAlignment()->setWrapText(true); //setWrapTextをtrueにした後に、setCellValueで値をセット。 $sheet->setCellValue('C7', "改行の\nある文字を\n入力"); /* -------------------- */ /* Excelファイルのダウンロード */ header("Content-Description: File Transfer"); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); //vnd.openxmlformats-officedocument.spreadsheetml.sheet:EXCELファイル( .xlsx OFFICE 2007以降), vnd.ms-excel:EXCELファイル( .xls OFFICE 2007より過去) header('Content-Disposition: attachment; filename="'.$fileName.'"'); //ダウンロード時のファイル名をセット header('Cache-Control: no-store, max-age=0'); //新しいリソースのキャッシュを防止、キャッシュのクリア ob_end_clean(); //バッファ消去 $writer = PHPExcel_IOFactory::createWriter($spreadsheet, 'Excel2007'); //Excel5:Excel97~2003, Excel2007:Excel2007~ $writer->save('php://output'); ?>