?php
include_once("PHPExcel/PHPExcel.php"); include_once("PHPExcel/PHPExcel/IOFactory.php");
$objExcel = new PHPExcel(); $objExcel->createsheet(); // シート新規追加 $objExcel->setActiveSheetIndex(0); // アクティブシート指定 $sheet = $objExcel->getActiveSheet();
// シート名称 $sheet->setTitle(mb_convert_encoding("シート名称",'UTF-8'));
// 用紙:横 $sheet->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE); // 用紙:縦 $sheet->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT);
// 用紙:A4 $sheet->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4); // 用紙:A3 $sheet->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A3);
// 表示:ズーム(%) $sheet->getSheetView()->setZoomScale(75); // ウインドウ枠の固定 $sheet->freezePane('A3');
// 印刷:中央配置 $sheet->getPageSetup()->setHorizontalCentered(true); // 左右 $sheet->getPageSetup()->setVerticalCentered(true); // 上下 // 印刷:マージン 上、下、左、右、ヘッダー、フッター(インチ指定) $sheet->getPageMargins()->setTop(0.6); $sheet->getPageMargins()->setBottom(0.4); $sheet->getPageMargins()->setLeft(0.6); $sheet->getPageMargins()->setRight(0.4); $sheet->getPageMargins()->setHeader(0.4); $sheet->getPageMargins()->setFooter(0.4);
// 印刷:縮小率(%) $sheet->getPageSetup()->setScale(100);
// 印刷:繰返し設定(ページの先頭に印刷する行指定) $sheet->getPageSetup()->setRowsToRepeatAtTopByStartAndEnd(1,3); // 印刷:領域の設定 $sheet->getPageSetup()->setPrintArea('A1:E5');
// 印刷:改ページ $sheet->setBreak( 'A10' , PHPExcel_Worksheet::BREAK_ROW ); $sheet->setBreak( 'D10' , PHPExcel_Worksheet::BREAK_COLUMN ); // 行の高さ $sheet->getRowDimension('10')->setRowHeight(100); $sheet->getRowDimension('10')->setRowHeight(); // 行高さ自動調整
// フォント:スタイル指定(デフォルト) $sheet->getDefaultStyle()->getFont()->setName(mb_convert_encoding('MS Pゴシック','UTF-8')); // フォント:サイズ指定(デフォルト) $sheet->getDefaultStyle()->getFont()->setSize(10);
// セル:幅の設定 $sheet->getColumnDimension('A')->setWidth(4); $sheet->getColumnDimension('B')->setWidth(14); $sheet->getColumnDimension('C')->setWidth(52); $sheet->getColumnDimension('D')->setWidth(12); // セル:幅の自動設定 $sheet->getColumnDimension('B')->setAutoSize(true);
// セル:マージ(セルを結合する) $sheet->mergeCells('A1:S1');
// セル:フォントサイズ $sheet->getStyle('A1')->getFont()->setSize(18); // セル:ボールド文字 $sheet->getStyle('A1')->getFont()->setBold(true); // セル:文字色 $sheet->getStyle('A1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED); // セル:文字設定 $sheet->setCellValue('A1',mb_convert_encoding('仕掛製番','UTF-8'));
// セル:配置:自動改行(折り返して全体を表示する) $sheet->getStyle('A1:E1')->getAlignment()->setWrapText(true);
// セル:水平方向位置 $sheet->getStyle('A1:E1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); // 中央 $sheet->getStyle('A1:E1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); // 右 /*水平方向位置 HORIZONTAL_GENERAL = 'general'; HORIZONTAL_LEFT = 'left'; HORIZONTAL_RIGHT = 'right'; HORIZONTAL_CENTER = 'center'; HORIZONTAL_JUSTIFY = 'justify'; */ // セル:縦方向位置 $sheet->getStyle('A1:E1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); // 中央 $sheet->getStyle('A1:E1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_BOTTOM); // 下 $sheet->getStyle('A1:E1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_TOP); // 上 /* 縦方向位置 VERTICAL_BOTTOM = 'bottom'; VERTICAL_TOP = 'top'; VERTICAL_CENTER = 'center'; VERTICAL_JUSTIFY = 'justify'; */ // セル:罫線 $sheet->getStyle('A1:E1')->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); // 細線 $sheet->getStyle('A1:E1')->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THICK); // 太線 $sheet->getStyle('A1:E1')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_HAIR); // ヘアライン $sheet->getStyle('A1:E1')->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_MEDIUM); // 普通線 /* 罫線 BORDER_NONE = 'none'; 罫線なし BORDER_DASHDOT = 'dashDot'; 一点鎖線 BORDER_DASHDOTDOT = 'dashDotDot'; 二点鎖線 BORDER_DASHED = 'dashed'; 点線(長め) BORDER_DOTTED = 'dotted'; 点線(短め) BORDER_DOUBLE = 'double'; 二重線 BORDER_HAIR = 'hair'; ヘアライン BORDER_MEDIUM = 'medium'; 普通線 BORDER_MEDIUMDASHDOT = 'mediumDashDot'; 普通線の一点鎖線 BORDER_MEDIUMDASHDOTDOT = 'mediumDashDotDot'; 普通線の二点鎖線 BORDER_MEDIUMDASHED = 'mediumDashed'; 普通の点線 BORDER_SLANTDASHDOT = 'slantDashDot'; 斜めにカットされた一点鎖線 BORDER_THICK = 'thick'; 太線 BORDER_THIN = 'thin'; 細線 */ //セル:背景パターンの設定 $sheet->getStyle('A1:P1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); /* パターン FILL_NONE = 'none'; FILL_SOLID = 'solid'; FILL_GRADIENT_LINEAR = 'linear'; FILL_GRADIENT_PATH = 'path'; FILL_PATTERN_DARKDOWN = 'darkDown'; FILL_PATTERN_DARKGRAY = 'darkGray'; FILL_PATTERN_DARKGRID = 'darkGrid'; FILL_PATTERN_DARKHORIZONTAL = 'darkHorizontal'; FILL_PATTERN_DARKTRELLIS = 'darkTrellis'; FILL_PATTERN_DARKUP = 'darkUp'; FILL_PATTERN_DARKVERTICAL = 'darkVertical'; FILL_PATTERN_GRAY0625 = 'gray0625'; FILL_PATTERN_GRAY125 = 'gray125'; FILL_PATTERN_LIGHTDOWN = 'lightDown'; FILL_PATTERN_LIGHTGRAY = 'lightGray'; FILL_PATTERN_LIGHTGRID = 'lightGrid'; FILL_PATTERN_LIGHTHORIZONTAL= 'lightHorizontal'; FILL_PATTERN_LIGHTTRELLIS = 'lightTrellis'; FILL_PATTERN_LIGHTUP = 'lightUp'; FILL_PATTERN_LIGHTVERTICAL = 'lightVertical'; FILL_PATTERN_MEDIUMGRAY = 'mediumGray'; */ //セル:背景色の設定 $sheet->getStyle('A1:P1')->getFill()->getStartColor()->setRGB('98fb98');
//カラムの表示、非表示 $sheet->getColumnDimension('C')->setVisible(true); // 表示 $sheet->getColumnDimension('D')->setVisible(false); // 非表示
//セル:数値フォーマット $sheet->getStyle('B1:Y1')->getNumberFormat()->setFormatCode('#,##0.0'); // 保護 //--------------------------------------------- $sheet->getProtection()->setSheet(true); // シート保護 $sheet->getProtection()->setPassword("password"); // パスワード
$sheet->setCellValue("B6", "パスワードで編集可能"); // セル保護 $sheet->protectCells("B6", "password"); // パスワード
//--------------------------------------------- //ヘッダーとフッターの表示 $sheet->getHeaderFooter()->setOddHeader('&K0000ff' . mb_convert_encoding('これは重要機密書類です', 'UTF-8')); $sheet->getHeaderFooter()->setOddFooter('&L&B' . $objPHPExcel->getProperties()->getTitle() . '&RPage &P of &N');
// ヘッダーとフッターには次の識別コードが使用できます // &L 左詰め // &P ページ番号 // &N 総ページ数 // &font フォントサイズ // &K 文字色 // &S 打ち消し線 on / off 2回繰り返すと元に戻ります // &X 上文字 on / off // &Y 下文字 on / off // &C 水平方向中央 // &D 日付 // &T 時間 // &G 画像背景 // これを使用したときには次のコードを入れる $objDrawing = new PHPExcel_Worksheet_HeaderFooterDrawing(); $objDrawing->setName('PHPExcel logo'); $objDrawing->setPath('./images/phpexcel_logo.gif'); $objDrawing->setHeight(36); $objPHPExcel->getActiveSheet()->getHeaderFooter()->addImage($objDrawing, PHPExcel_Worksheet_HeaderFooter::IMAGE_HEADER_LEFT); // &U 下線 // &E 2重下線 // &R 右詰め // &Z このファイルのパス // &F このファイル名 // &A シート名 // &+ ページ番号に加える // &- ページ番号からマイナスする // & フォント名、フォントタイプをカンマで区切ってダブルクォーテーションで囲み"&"に続けて書いて指定する // &"-,Bold" 太文字 // &B 太文字 // &"-,Regular" 標準の文字 // &"-,Italic" 斜体文字 // &I 斜体文字
?>