-
- /**
- * スタイル付きで Excel をエクスポート
- * 編集: bbs.it-home.org
- */
- include 'Writer.php';
-
- /* *** データのエクスポートの準備*** */
- $head = '1 週間のスケジュール';
- $data = array('月曜日' => array('time' => '09:00', 'event' => '社内定例会議'),
- array('time' = > '14:00', 'イベント' => '部門定例会議')
- ),
- '火曜日' => array('time' => '09:30', 'イベント' = > ; 'スティンセン氏との朝食')),
- '水曜日' => array('time' => '12:10', 'event' => '市場中間レポート'),
- array ('time' => '15:30', 'event' => 'マーケティング部門戦略展開会議') ),
- '木曜日' => array( array('time' => '', 'イベント' => '')),
- '金曜日' => array('時間' => '16:00', 'イベント' => 'WoC株セミナー'),
- array( ' time' => '17:00', 'event' => 'ウォール街へ飛ぶ'),
- array('time' => '21:00', 'event' => 'クリントン氏に会う' ))
- );
- /* *** *** */
-
- $workbook = new Spreadsheet_Excel_Writer();
- $filename = date('YmdHis').'.xls';//csv
- $workbook-> ;send($filename); // ダウンロードする Excel ファイル名を送信します
- $workbook->addWorksheet("Sheet1");
- $sheet->setInputEncoding('utf-8'); //文字セット
- $headFormat = &$workbook->addFormat(array('Size' => 14, 'Align' => 'center' , 'Color' => 'white', 'FgColor' => 'brown', 'Bold' => '1'));// 形式を定義します
- $dayFormat = &$workbook->addFormat(array('Size' => 12, 'Align' => 'center', 'VAlign' => 'vcenter', 'FgColor' => 'green', ' Color ' => 'white', 'Border' => '1'));//フォーマットを定義します
- $dataFormat = &$workbook->addFormat(array('Size' => 10, 'Align ' = > 'left', 'Border' => '1', 'Color' => 'FgColor'=> 'シアン');// フォーマットを定義します
-
- $sheet-> ;setColumn (0, 0, 20); // 幅を設定します
- $sheet->setColumn(1, 1, 15) // 幅を設定します
- $sheet->setColumn(2, 2, 30); // 幅を設定します
-
- $r = 0;
- $sheet->write(0, $r, $head, $headFormat) // テーブルのタイトル
- $sheet->mergeCells(0, 0, 0, 2); // 列全体を表示します
-
- $r++; // データは行 2 から始まります
- foreach ($data as $day => $events){
- $sheet->write($ r, $c , $day, $dayFormat);
- if (!$events){
- // その日の予定はありません
- $r++ } else {
- $startRow = $r; e){
- $c = 1;
- $sheet->write($r, $c++, $e['time'], $dataFormat); // ワークシートにデータを書き込みます
- $sheet->write( $r, $c++, $e['event'], $dataFormat); // ワークシートにデータを書き込みます
- $r++;
- }
- // $day セルを結合します
- $sheet->mergeCells($startRow, 0) , $r - 1 , 0);
- }
- }
- $workbook->close() // コードをコピーします
-
-
- ;
コードの説明:
$sheet = &$workbook->addWorksheet("Sheet1"); // ワークシートを作成し、ワークシートへの呼び出しを返します。 1 つの Excel ブック内に複数のワークシートを作成できます。
$headFormat = &$workbook->addFormat($param); // 以下の使用可能な形式を作成します。公式の手順 http://pear.php.net/manual/en/package.fileformats を参照してください。 .spreadsheet-excel -writer.spreadsheet-excel-writer-workbook.addformat.php
整列
太字
下
トップ
左
そうです
ボーダー
枠線の色
下の色
トップカラー
正しい色
左の色
Fgカラー
背景色
カラー
パターン
下線
テキストローテーション
サイズ
数値形式
スクリプト
$workbook->send($filename); //HTTP ヘッダーを送信し、ダウンロードの準備をします。$filename はダウンロードされたファイル名です
Sheet->setColumn($startCol, $endCol, $width); // 列幅を設定します。
$sheet->write($row, $col, $data, $format); // データをワークシートに書き込みます。
$row 書き込む行番号 (0 から始まります)
$col 書き込む列番号 (0 から始まる)
$data データ
$format addFormat() を使用して作成されたスタイル
$sheet->mergeCells($startRow, $startCol, $endRow, $endCol); // セルを結合します。
$workbook->close() // ダウンロードが完了しました
以上です。時間があれば、上記のコードを xxx.php として保存し、実際に動作するかどうかを確認してください。
|