PHPExcelの使い方メモ

PHPでExcelを生成できる『PHPExcel』の使い方メモ
※実際に私が使ったものをメモしているだけなので、機能を網羅している訳ではないです。かしこ。

インストールはcomposerを使うか、圧縮ファイルをダウンロードしてきて
適当なディレクトリに解凍します。
あとは以下をrequireするだけ。
/格納したパス/PHPExcel/Classes/PHPExcel.php
/格納したパス/PHPExcel/Classes/PHPExcel/IOFactory.php

実際のソースコードは以下の通り

/**
 * PHPExcelの新規オブジェクト作成
 */
$excel = new PHPExcel();

/**
 * シートを作成してシート名を変える
 */
$sheetIndex = 0; // シート番号は0から
$excel->setActiveSheetIndex($sheetIndex);
$sheet = $excel->getActiveSheet();
$sheet->setTitle('SampleSheet01');

/**
 * セルにデータを入力する
 */
// 基本的な入力
$rowCnt = 1; // 行番号は1から
$clmCnt = 0; // 列番号は0から
$text = 'セルに書き込む内容だよ';
$sheet->setCellValueByColumnAndRow($clmCnt, $rowCnt, $val);

// 文字列型で入力
$rowCnt++; // 1行下に移動
$clmCnt++; // 1列右に移動
$text = '000001'; // 文字列型にしないと、左記は「00001」ではなく「1」になってしまう
$sheet->setCellValueExplicitByColumnAndRow($clmCnt, $rowCnt, $val, PHPExcel_Cell_DataType::TYPE_STRING);

/**
 * セルの書式設定
 */
// シートのデフォルトフォントを設定する
$sheet->getDefaultStyle()->getFont()->setName('MS Pゴシック')->setSize(11);

// 背景色を設定
$bgcolor = '000000'; // 16進数で指定
$sheet->getStyleByColumnAndRow($clmCnt, $rowCnt)->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$sheet->getStyleByColumnAndRow($clmCnt, $rowCnt)->getFill()->getStartColor()->setRGB($bgcolor);

// 文字色を設定
$fontcolor = 'FFFFFF'; // 16進数で指定
$sheet->getStyleByColumnAndRow($clmCnt, $rowCnt)->getFont()->getColor()->setARGB($fontcolor);

// 太字にする
$sheet->getStyleByColumnAndRow($clmCnt, $rowCnt)->getFont()->setBold(true);

// セル(行列番号指定)の上だけに罫線(二重線)を引く
$sheet->getStyleByColumnAndRow($clmCnt, $rowCnt)->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_DOUBLE);
// セル(レンジ指定)の周り全てに罫線(単一線)を引く
$sheet->getStyle('A1:B3')->getBorders()->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);


// 列の幅を指定する
$sheet->getColumnDimension('A')->setWidth(14.5);
// 列の幅を自動調整する(※これで効くはずなんですが、効かない事が多々ある)
$sheet->getColumnDimension( PHPExcel_Cell::stringFromColumnIndex($clmCnt))->setAutoSize(true);

以上

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です