ホーム > シート (全15件)
  • 連結したセル情報を取得する

    連結したセル情報を取得する

    $merged = $sheet->getMergeCells();
    
    /* $mergedの内容(例)
    array (
      'B1:P1' => "B1:P1",
      'Q1:AB1' => "Q1:AB1",
      'A2:A4' => "A2:A4",
    )
    */
    

    シート内の連結したセル情報はgetMergeCellsメソッドで取得できる。取得した内容は連想配列でキーとその値は、「開始セル:終了セル」の書式で表され、配列内の順番は左上からではない。

  • 先頭のシートデータをコピーする

    先頭のシートデータをコピーする

    $baseSheet = $book->getSheet( 0 );
    $newSheet = $baseSheet->copy();
    $newSheet->setTitle( 'SheetX' );
    $book->addSheet( $newSheet );
    

    シートデータをcopyメソッドを使ってデータを複製し、addSheetメソッドでシートを追加する。ポイントはシートデータの複製後にsetTitleメソッドで(ユニークな)シート名を設定しているところ。あとaddSheetメソッドは第2パラメータでシートの挿入位置(インデックス)を指定できる(省略時はnullとなり最後に追加される)。

  • シート名からシートデータを取得する

    シート名’Sheet2’のシートデータを取得する

    if ( ( $sheet = $book->getSheetByName( 'Sheet2' ) ) != null ) {
    	// 'Sheet2'のシートデータが取得できた場合の処理
    
    }
    

    シート名を指定してシートデータを取得する場合はgetSheetByNameメソッドが使える。該当するシートがない場合はnullとなる。Excelファイルでシート名が決まっている場合はこれが楽かも。

  • シート名が使用済みか調べる

    シート名’Sheet2’が使用されているか調べる

    if ( $book->sheetNameExists( 'Sheet2' ) ) {
    	// 'Sheet2'が使用されていた場合の処理
    
    }
    

    ブック内のシート名はユニークである必要があり、シートを追加する前にチェックする時はsheetNameExistsメソッドが使える。

  • シートの名前を取得する

    2番目のシートの名前を取得する。

    $book->setActiveSheetIndex(1);
    $sheet = $book->getActiveSheet();
    $title = $sheet->getTitle();
    

    getActiveSheetで取得できるシートオブジェクトのgetTitleメソッドを使う。

  • 列を削除する

    列を削除する。

    /* B列を削除する */
    $sheet->removeColumn( 'B' );
    
    /* B列とC列を削除する */
    $sheet->removeColumn( 'B', 2 );
    
    /* B列とC列を削除する(カラム番号を指定) */
    $sheet->removeColumnByIndex( 1, 2 );
    

    removeColumnメソッドで列(カラム)名と列数(省略時は1)を指定。カラム番号で指定したい場合はremoveColumnByIndexメソッドを使う。

  • 列を挿入する

    列を挿入する。

    /* E列の前に2列挿入にする */
    $sheet->insertNewColumnBefore( 'E', 2 );
    

    insertNewColumnBeforeメソッドで挿入する列と挿入分を指定。この例では新しいE列とF列が作られ、現在のE列以降がG列以降となる。ちなみに行を挿入するはinsertNewRowBeforeメソッドである。

  • 行の高さを設定する

    3行目の高さを27ポイント(標準の2倍)に設定する。

    $sheet->getRowDimension( 3 )->setRowHeight( 27 );
    

    getRowDimensionメソッドでPHPExcel_Worksheet_RowDimensionオブジェクトを取得し、そのsetRowHeightメソッドで高さ(単位はポイント)を設定する。なお、getRowDimensionメソッドのカラムを省略した場合は1行目となる。

  • カラム幅を設定する

    Bカラムの幅を30ポイントに設定する。

    $sheet->getColumnDimension( 'B' )->setWidth( 30 );
    

    getColumnDimensionメソッドでPHPExcel_Worksheet_ColumnDimensionオブジェクトを取得し、そのsetWidthメソッドで幅(単位はポイント)を設定する。なお、getColumnDimensionメソッドのカラム指定を省略した場合はAカラムとなる。

  • シートのウィンドウ枠を固定する

    シートのウィンドウ枠をB2セルに固定する。

    // セル名で指定する
    $sheet->freezePane( 'B2' );
    
    // カラム番号と行番号で指定する
    $sheet->freezePaneByColumnAndRow( 1, 2 );
    

    freezePaneメソッドでセルを指定する。B2セルを指定した場合は、Aカラムと1行目が固定表示となる。なお、1行目を固定する場合はA2セルを、Aカラムを固定する場合はB1セルを指定する。