ホームページ  >  記事  >  バックエンド開発  >  PHP の組み込み関数 fputcsv および fgetcsv を使用してレポートをエクスポートおよびインポートする

PHP の組み込み関数 fputcsv および fgetcsv を使用してレポートをエクスポートおよびインポートする

巴扎黑
巴扎黑オリジナル
2016-11-08 11:10:051491ブラウズ

PHPにはレポート(Excel)の印刷機能を実現できる関数 fputcsv が付属しています。レポート形式の要件がそれほど高くない場合は、fputcsv が適しています。実行効率が高く、サードパーティのライブラリを必要とせず、非常に使いやすいです。

<?php
$list = array
(
"George,John,Thomas,USA",
"James,Adrew,Martin,USA",
);
$file = fopen("contacts.csv","w");
foreach ($list as $line)
{
  fputcsv($file,split(&#39;,&#39;,$line));
}
fclose($file);
?>

上記のコードは、Excel で開くことができる CSV ファイルをローカルに生成します。非常に簡単ではないでしょうか。中国語がある場合、Linux上で実行した後、ダウンロードしてローカルで開くと文字化けしてしまうので、iconv関数を使って変換することができます。

$list = array();

$tmp = "注文番号、注文支払金額、ラッキーナンバー、ユーザー名、ユーザータイプ、期間、番号生成時間、抽選時間、賞ロゴ、賞品、ボーナス、備考" ;

$list[] = iconv('UTF-8', 'GB2312//IGNORE',$tmp);

生成されたCSVをブラウザに直接出力

header ( 'Content-Disposition:attachment; filename =contacts) .csv');//ファイル名が中国語の場合、IE で urlencode 以降の中国語の文字化けは発生しません

header ( 'Content-type: application/octet-stream' );

header ( 'Content-Length : '.filesize ('contacts.csv') );// ファイルのサイズ

readfile ($file_path);

exit ();

2 番目に、fgetcsv を使用してレポートをインポートします

注意すべき点が 1 つありますfgetcsvを使用してレポートをインポートする場合の場所。 EXCEL文書をCSV形式に変換する必要があります。注: これは、サフィックスを変更するという単純な問題ではありません。

りー


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