- 追加された行はこの色です。
- 削除された行はこの色です。
- ExcelPHP へ行く。
#freeze
*ExcelPHP
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 斜体文字