2番目のシートの名前を取得する。
$book->setActiveSheetIndex(1);
$sheet = $book->getActiveSheet();
$title = $sheet->getTitle();
getActiveSheetで取得できるシートオブジェクトのgetTitleメソッドを使う。
2番目のシートの名前を取得する。
$book->setActiveSheetIndex(1);
$sheet = $book->getActiveSheet();
$title = $sheet->getTitle();
getActiveSheetで取得できるシートオブジェクトのgetTitleメソッドを使う。
数値を強制的に文字列としてセルに設定する(桁あふれ時の###表示対策)
// セルA1に変数$val1(数値)の値を設定する
$sheet->setCellValueExplicit( 'A1', $val1 );
// または
$sheet->setCellValueExplicit( 'A1', $val1, PHPExcel_Cell_DataType::TYPE_STRING );
// セルA1に変数$val1(数値)の値を設定する
$sheet->setCellValueExplicitByColumnAndRow( 0, 1, $val1 );
// または
$sheet->setCellValueExplicitByColumnAndRow( 0, 1, $val1, PHPExcel_Cell_DataType::TYPE_STRING );
セルに値を設定するメソッドとしてsetCellValueやsetCellValueByColumnAndRowメソッドのかわりにsetCellValueExplicitやsetCellValueExplicitByColumnAndRowメソッドを利用することで、データ形式を指定できる。それぞれの値パラメータの次にデータ形式を指定でき、データ形式は「文字列(PHPExcel_Cell_DataType::TYPE_STRING)」などを指定するが、省略時のデータ形式が文字列なので、数値を文字列として設定する場合はデータ形式パラメータを省略できる。なお変数$sheetは、getActiveSheetメソッドで取得したシートオブジェクトである。
セルA1からA3を結合する。
$sheet->mergeCells( 'A1:A3' );
/* または */
$sheet->mergeCellsByColumnAndRow( 0, 1, 0, 3 );
mergeCellsメソッドで範囲指定したセルを結合する。また、カラム番号、行番号を指定する場合はmergeCellsByColumnAndRowメソッドを使用する。
セルB2のスタイルをセルB5に貼り付ける。
/* セルB5に貼り付ける */
$sheet->duplicateStyle( $sheet->getStyle( 'B2' ), 'B5' );
/* セルB5~C8に貼り付ける */
$sheet->duplicateStyle( $sheet->getStyle( 'B2' ), 'B5:C8' );
getStyleメソッドでスタイル(PHPExcel_Styleオブジェクト)を取得し、duplicateStyleメソッドでスタイルを貼り付ける。duplicateStyleメソッドで指定するセルは範囲指定できる。
シートのウィンドウ枠をB2セルに固定する。
// セル名で指定する
$sheet->freezePane( 'B2' );
// カラム番号と行番号で指定する
$sheet->freezePaneByColumnAndRow( 1, 2 );
freezePaneメソッドでセルを指定する。B2セルを指定した場合は、Aカラムと1行目が固定表示となる。なお、1行目を固定する場合はA2セルを、Aカラムを固定する場合はB1セルを指定する。
現在のシートを保護する。
// シートを保護する
$sheet->getProtection()->setSheet( true );
// シートの保護を解除する
$sheet->getProtection()->setSheet( false );
getProtectionメソッドでPHPExcel_Worksheet_Protectionオブジェクトを取得し、setSheetメソッドでパラメータがtrueならば保護、falseならば保護解除する。
11行目に空行を2行挿入する
$sheet->insertNewRowBefore( 11, 2 );
第1パラメータが行番号、第2パラメータが挿入する行数になる。
1番目のシートの名前を’シート1’に変更する
$book->setActiveSheetIndex(0);
$sheet = $book->getActiveSheet();
$sheet->setTitle( 'シート1' );
getActiveSheetで取得できるシートオブジェクトのsetTitleメソッドを使う。タイトルに使用禁止文字 ‘:\?[]/*:¥?[]/*’ のいずれかを含んでいると、例外が発生するので要注意(必ず除外すること)。
$columnと$rowで指定したセルに文字列として値を設定する
$sheet->getCellByColumnAndRow( $column, $row )->setValueExplicit( $val, PHPExcel_Cell_DataType::TYPE_STRING );
getCellByColumnAndRowメソッドでセルオブジェクトを取得し、そのsetValueExplicitメソッドで値とデータ型を設定する。なお変数$sheetは、getActiveSheetメソッドで取得したシートオブジェクトである。
2番目のシートに変更する
$book->setActiveSheetIndex(1);
$sheet = $book->getActiveSheet();
setActiveSheetIndexメソッドのパラメータにシートIDを指定する。シートIDは、1番目のシートが0、2番目のシートが1となる。