PHPExcelで罫線を引く
2012.02.15記 |
以前の「2010.04.15 PHPExcel で Excelファイルをつくる」の続編(?)でPHPExcelでの罫線についてメモっておきます
<?php
// PHPExcelを読み込む
require_once 'PHPExcel.php';
require_once 'PHPExcel/IOFactory.php';
// PHPExcelオブジェクト
$book = new PHPExcel();
// シートの設定
$book->setActiveSheetIndex(0);
$sheet = $book->getActiveSheet();
// セルの上側に罫線を引く
$sheet->getStyleByColumnAndRow(0, 1)->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
// Excel2007形式のファイルで保存
$writer = PHPExcel_IOFactory::createWriter($book, 'Excel2007');
$writer->save('sample.xlsx');
上記例ではセルの上側に罫線を引いていますがセルの他の部分に罫線を引く場合は「getTop()」を下記のものに変更します
| セル下側に罫線 | getBottom() |
| セル右側に罫線 | getLeft() |
| セル左側に罫線 | getRight() |
| セル全てに罫線 | getAllBorders() |
上記例ではセルを行番号・列番号で指定する
「getStyleByColumnAndRow(0, 1)」で記述していましたが
「getStyle('A1')」のようにセル番号で指定することもできます
セル範囲で指定する場合は「getStyle('A1:G5')」のようにします
罫線の線種
| PHPExcel_Style_Border::BORDER_NONE | 罫線なし |
| PHPExcel_Style_Border::BORDER_THIN | 普通線 |
| PHPExcel_Style_Border::BORDER_MEDIUM | 太線 |
| PHPExcel_Style_Border::BORDER_DASHED | 破線 |
| PHPExcel_Style_Border::BORDER_DOTTED | 点線 |
| PHPExcel_Style_Border::BORDER_THICK | 太線2 |
| PHPExcel_Style_Border::BORDER_DOUBLE | 二重線 |
| PHPExcel_Style_Border::BORDER_HAIR | 細線(ヘアライン) |
| PHPExcel_Style_Border::BORDER_MEDIUMDASHED | 太線破線 |
| PHPExcel_Style_Border::BORDER_DASHDOT | 一点鎖線 |
| PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT | 太線の一点鎖線 |
| PHPExcel_Style_Border::BORDER_DASHDOTDOT | 二点鎖線 |
| PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT | 太線の二点鎖線 |
| PHPExcel_Style_Border::BORDER_SLANTDASHDOT | スラッシュ一点鎖線 |
罫線種類の名前は適当につけました。「BORDER_MEDIUM」などはミディアムだけど出力してみるといつも太線と言っている罫線だったので(^^ゞ
|
2012.03.15 [jQuery] DataTables で表組の並べ替え |
2012年 |
2012.01.15 [jQuery] ファイルアップロード |

ホーム