Posted on

PHPExcelで動的に複数セルに対して操作したい

PHPExcelである場所からある場所までのセルに対して操作をしたい時は、getStyle( “A4:G37” )のように指定したら良いのですが、プログラムで動的にする場合、Y座標は数字なので問題無く指定できるのですが、X座標はアルファベットなので動的に指定する事が出来ません。

そこで便利なのがPHPExcel_Cell::stringFromColumnIndex()です。

これは列の数字からアルファベットを返してくれる関数で、PHPExcel_Cell::stringFromColumnIndex(10)と渡すとKと返してきてくれます。

ですので、下記のように指定してあげるとgetStyle( “A4:G37” )のように指定することが可能になります。

$col = PHPExcel_Cell::stringFromColumnIndex(6); // 列の数字からアルファベットに変換
$sheet->getStyle( "A4:{$col}37" )->getFont()->setSize(10);// フォントサイズの指定