BLOGスタッフブログ

インソースマーケティングデザイン

2017.02.02 システム

[PHP] PHPExcelでExcelファイルを出力してみよう(応用)

こんにちは。エンジニアの高田です。
年が明けてからツイていません…。
なので先日厄払いにいきました。神頼みです。

さて前回は、PHPExcelを使ってExcelファイルを出力し、ダウンロードする方法を紹介しました。
PHPExcelのインストール方法なども紹介しましたので、基本的なことは前回の内容を参照してください。
(前回)[PHP] PHPExcelでExcelファイルを出力してダウンロードしてみよう(基本)

今回は、PHPExcelを使用してどのように値を設定するのか、どのように罫線をひくのかなど、よく使いそうな内容を紹介します。

phpexcel_logo

(PHPExcel)セルに値を設定する

$objExcel = new PHPExcel(); $objExcel->setActiveSheetIndex(0); $objSheet = $objExcel->getActiveSheet(); // A1セルに「テスト」という文字列を設定 $objSheet->setCellValue('A1', 'テスト'); // A1セルに「テスト」という文字列を設定 // 列・行番号でセルを指定 $objSheet->setCellValueByColumnAndRow(0, 1, 'テスト'); // 出力データ配列をA1セルから設定 $data = array(); $data[] = array('1行目', 'テスト'); $data[] = array('2行目', 'テスト'); $objSheet->fromArray($data, null, 'A1');

(PHPExcel)フォント・サイズを指定する

$objExcel = new PHPExcel(); $objExcel->setActiveSheetIndex(0); $objSheet = $objExcel->getActiveSheet(); // デフォルトフォント設定(シートのデフォルトフォントをMS Pゴシック 11ptとする) $objSheet->getDefaultStyle()->getFont()->setName('MS Pゴシック' )->setSize(11); // セルのフォント設定(A1セルのフォントをMS Pゴシック 11ptとする) $objSheet->getStyle('A1')->getFont()->setName('MS Pゴシック' )->setSize(11); // 範囲セルのフォント設定(A1~C1セルのフォントをMS Pゴシック 11ptとする) $objSheet->getStyle('A1:C1')->getFont()->setName('MS Pゴシック' )->setSize(11); // セルのフォント設定(A1セルのフォントをMS Pゴシック 11ptとする) // 列・行番号でセルを指定 $objSheet->getStyleByColumnAndRow(0, 1)->getFont()->setName('MS Pゴシック' )->setSize(11);

(PHPExcel)罫線を引く

$objExcel = new PHPExcel(); $objExcel->setActiveSheetIndex(0); $objSheet = $objExcel->getActiveSheet(); // A1~C1セルの上下左右全てに罫線を引く $objSheet->getStyle('A1:C1')->getBorders()->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); // 罫線の色(赤)を設定する $objSheet->getStyle('A1:C1')->getBorders()->getAllBorders()->getColor()->setRGB('ff0000'); // A1セルの上に罫線を引く $objSheet->getStyle('A1')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); // A1セルの下に罫線を引く $objSheet->getStyle('A1')->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); // A1セルの左に罫線を引く $objSheet->getStyle('A1')->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); // A1セルの右に罫線を引く $objSheet->getStyle('A1')->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

(PHPExcel)セルに背景色をつける

$objExcel = new PHPExcel(); $objExcel->setActiveSheetIndex(0); $objSheet = $objExcel->getActiveSheet(); // A1~C1セルの背景色(黄色)をつける $objSheet->getStyle('A1:C1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); $objSheet->getStyle('A1:C1')->getFill()->getStartColor()->setRGB('ffff00');

(PHPExcel)行の高さを設定する

$objExcel = new PHPExcel(); $objExcel->setActiveSheetIndex(0); $objSheet = $objExcel->getActiveSheet(); // 1行目の高さを27ptに設定する $objSheet->getRowDimension(1)->setRowHeight(27);

(PHPExcel)列の幅を設定する

$objExcel = new PHPExcel(); $objExcel->setActiveSheetIndex(0); $objSheet = $objExcel->getActiveSheet(); // A列の幅を50ptに設定する $objSheet->getColumnDimension('A')->setWidth(50); // A列の幅を50ptに設定する(列番号で指定) $objSheet->getColumnDimensionByColumn(0)->setWidth(50); // A列の幅を50ptに設定する(列番号で指定) $objSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex(0))->setWidth(50);
 
他にも色々できますが、とりあえず良く使うものだけ紹介しました。
ではまた。

インソースマーケティングデザインが書いた他の記事

見積もり・ご依頼など、
お気軽にご相談ください

本サイトはユーザーエクスペリエンスの向上などを目的に、Cookieを使用しています。
右記のバナーで「同意する」をクリックする、または本サイトを利用することにより、
お客様は弊社のCookieポリシーに同意したことになります。

同意します