1. MySQLのテーブルの内容をExcelの書類として出力するプログラム(myphp14.php)を作成
下記の内容をテキストエディタにコピーし、ファイル名を「myphp14.php」として「C:\xampp\htdocs\test」内に保存します。
*注意 ---「myphp14.php」ファイルの文字コードは「SJIS」を指定して保存してください。
PHPエディタや サクラエディタなど文字コードを指定できるエディタを使うと便利です。
<?php //エクセルシート作成に必要なモジュールを一度だけ読み込む require_once("Spreadsheet/Excel/Writer.php"); //エクセルのファイル名をセットする $filename = "mysql-tab1.xls"; //エクセルのシート名をセットする $sheetname = "tab1"; //エクセルシートのオブジェクトを作成する $workbook = new Spreadsheet_Excel_Writer(); //HTTPヘッダーを送信する $workbook->send($filename); //ワークシートを作成する $worksheet = $workbook->addWorksheet($sheetname); //DBへ接続開始 サーバー名--localhost ユーザー名--root パスワード--"karipass $dbHandle = mysql_connect("localhost","root","karipass") or die("can not connect db\n"); //MySQLのクライアントの文字コードをsjisに設定 mysql_query("SET NAMES sjis") or die("can not SET NAMES sjis"); //db名を指定する $db = "workdb"; //SQL文 tab1表から全行を取り出し、number列の昇順に整列する $sql = "select * from tab1 order by number"; //SQL文を実行する $rs = mysql_db_query($db,$sql); //列数を取得する $num = mysql_num_fields($rs); //tab1表の列数と同じ回数を繰り返す for ($i=0;$i<$num;$i++){ //Excelに列名を出力 $worksheet->write(0,$i,mysql_field_name($rs,$i)); } //行数カウンタをセットする $i=1; //tab1表の行数と同じ回数を繰り返す while($row=mysql_fetch_array($rs)){ //tab1表の列数と同じ回数を繰り返す for($j=0;$j<$num;$j++){ //Excelにtab1表の列内容を出力する $worksheet->write($i,$j,$row[$j]); } //行数カウンタに1を加算する $i = $i + 1; } // Excelシートを送信する $workbook->close(); //結果レコードをメモリから開放 mysql_free_result($rs); //DBへの接続を切断 mysql_close($dbHandle); ?>続いて、 MySQLのテーブルの内容をExcelの書類として出力するプログラム(myphp14.php)の動作テストをおこないます。