ホームページ  >  記事  >  バックエンド開発  >  Excel2010 公式無料フルバージョンをダウンロード PHP MySQL データを Excel ファイルにエクスポート fputcsv

Excel2010 公式無料フルバージョンをダウンロード PHP MySQL データを Excel ファイルにエクスポート fputcsv

WBOY
WBOYオリジナル
2016-07-29 08:45:541399ブラウズ

fputcsvを使ってCSVファイルを書き込み、ブラウザに直接Excelファイルを出力する方法です。

コードをコピーします コードは次のとおりです:


// Excel ファイルのヘッダーを出力します。user.csv を必要なファイル名に置き換えることができます
header('Content-Type: application/vnd. ms-excel') ;
header('Content-Disposition:attachment;filename="user.csv"');
header('Cache-Control:max-age=0'); 、メモリを節約するために、一度にデータをメモリに読み込まず、ハンドルから 1 行ずつ読み込むだけです
$sql = 'select * from tbl where ...'; >query($sql);
// PHP ファイルハンドルを開きます。php://output はブラウザに直接出力することを意味します
$fp = fopen('php://output', 'a'); Excelの列名情報
$head = array('名前', '性別', '年齢', 'メールアドレス', '電話番号', '...'); ) {
// CSV Excel は GBK エンコードをサポートしています。変換する必要があります。変換しないと文字化けします
$head[$i] = iconv('utf-8', 'gbk', $v);
}
// データを書き込みますfputcsv によるファイル ハンドル
fputcsv($fp, $head );
// Counter
$cnt = 0; // $limit 行ごとに、大きすぎず小さすぎずに出力バッファを更新します
$limit = 100000 ;
// メモリを無駄にせずに 1 行ずつデータを取り出します
while ($row = $stmt->fetch(Zend_Db::FETCH_NUM)) {
$cnt ++ ($limit == $cnt) { //過剰なデータによる問題の発生を防ぐために出力バッファを更新します
ob_flush();
$cnt = 0;
foreach ($row as $i => $v) {
$row[ $i] = iconv('utf-8' , 'gbk', $v);
}
fputcsv($fp, $row)

利点: シンプルで使いやすく、非常にメモリを節約します。サードパーティのライブラリに依存しません。
上記では、Excel2010 公式ダウンロードの無料完全版を含め、PHP で MySQL データを Excel ファイル fputcsv にエクスポートする方法を紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。