セルB1~C5の範囲の値を取得する
$val = $sheet->rangeToArray( 'B1:C5' );
// セルB2の値
$val_b2 = $val[1][0];
rangeToArrayメソッドに取得した範囲指定名を指定する。$valは行と列をキーとした2次元配列となり、この例であればセルB1の値が$val[0][0]
に、セルC5の値が$val[4][1]
に格納されている。
セルB1~C5の範囲の値を取得する
$val = $sheet->rangeToArray( 'B1:C5' );
// セルB2の値
$val_b2 = $val[1][0];
rangeToArrayメソッドに取得した範囲指定名を指定する。$valは行と列をキーとした2次元配列となり、この例であればセルB1の値が$val[0][0]
に、セルC5の値が$val[4][1]
に格納されている。
セルB1の値を取得する
$val = $sheet->getCell( 'B1' )->getValue();
/* カラム番号と行番号を指定する場合
$val = $sheet->getCellByColumnAndRow( 1, 1 )->getValue();
getCellメソッドにセル名を指定するか、getCellByColumnAndRowメソッドでカラム番号、行番号を指定することで、セルオブジェクトが取得できる。そのセルオブジェクトのgetValueメソッドで値を取得する。
Aカラムの幅設定を自動調整する
/* Aカラムを指定 */
$sheet->getColumnDimension( 'A' )->setAutoSize( true );
/* カラム番号変数を指定 */
$sheet->getColumnDimension( PHPExcel_Cell::stringFromColumnIndex( $column ) )->setAutoSize( true );
呼び出し時のセルの状態(データの有無)、フォント設定が影響する。日本語を扱う場合は事前に適切な日本語フォントとサイズを指定しておくこと(それでも可変幅(プロポーショナル)フォントで日本語文字列のカラム幅は狭くなる場合がある。その場合は、固定幅フォントを設定するなどの工夫が必要)。
カラム番号$columniをカラムラベル(’A’、’B’…)に変換する
/* 1 -> 'A' */
$columna = PHPExcel_Cell::stringFromColumnIndex( $columni );
/* 'A' -> 1 */
$columni = PHPExcel_Cell::columnIndexFromString( $columna );
計算式の引数を組み立てる際に使用すると便利かも。