2013年4月6日土曜日

[PHP][PHPExcel]配列からExcelにデータを書き出す

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <title>PHP Excel</title>
  </head>
  <body>
<?php
require_once '../PHPExcel_1.7.8/Classes/PHPExcel.php';

// Create new PHPExcel object
printWithTime('Create new PHPExcel object<br/>');
$objPHPExcel = new PHPExcel();

// フォント
printWithTime('Set default font<br/>');
$objPHPExcel->setActiveSheetIndex(0)->getDefaultStyle()->getFont()->setName('メイリオ');

// 配列でデータを準備
$data = array(
    array(1, 'Dog', 'Tokyo', '犬'),
    array(2, 'Cat', 'Chiba', '猫'),
    array(3, 'Bird', 'Saitama', '鳥')
    );

var_dump($data);
print "<br/>";

// Add data
printWithTime('Add data<br/>');
$rowNum = 1;
foreach ($data as $row) {
    $colNum = 0;
    foreach ($row as $d) {
        $objPHPExcel->setActiveSheetIndex(0)->setCellValueByColumnAndRow($colNum++, $rowNum, $d);
    }
    $rowNum++;
}

// Save Excel5 file
$outputFilename = 'php_excel2_output.xls';
printWithTime('Write to Excel5 format<br/>');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save($outputFilename);
printWithTime('File written to Excel5 format<br/>');

print "<br/><br/>";
print "Copy $outputFilename to your local PC and open it!<br/>";

/***********************************************************************
 * 時刻と一緒にデバッグ文表示
 ***********************************************************************/
function printWithTime($str)
{
    print "[" . date('H:i:s') . "] " . $str;
}

?>
  </body>
</html>

0 件のコメント:

コメントを投稿