ホーム > getActiveSheet (全12件)
  • シートの名前を取得する

    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となる。