Heim  >  Artikel  >  Backend-Entwicklung  >  用 PHP 自带函数 fputcsv 和 fgetcsv 来导出报表和导入报表

用 PHP 自带函数 fputcsv 和 fgetcsv 来导出报表和导入报表

巴扎黑
巴扎黑Original
2016-11-08 11:10:051492Durchsuche

PHP 自带函数 fputcsv 可以实现打印报表(Excel)功能。如果你的对报表格式要求不是很高,那么 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);
?>

以上代码会在本地生成一个 csv 的文件,能够用 Excel 打开,是不是很简单呢。如果有中文,在 Linux 执行后,下载到本地打开会乱码,那么可以用 iconv 函数进行转换。

$list = array();

$tmp = "订单号,订单支付金额,幸运号码,用户名,用户类型,期别,号码产生时间,开奖时间,奖项标识,奖项,奖金,备注";

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

直接把生成的 CSV 输出到浏览器

header ( 'Content-Disposition: attachment; filename=contacts.csv');//如果文件名是中文的, urlencode 之后在IE不会出现中文乱码

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

header ( 'Content-Length: '.filesize ('contacts.csv') );//文件的大小

readfile ($file_path);

exit ();  

二、用 fgetcsv 导入报表

用 fgetcsv 导入报表有一点需要注意的地方。就是必须把 EXCEL 文档转换成 CSV 格式。注意:不是简单的改后缀名。

<?php
$file = fopen("contacts.csv","r");
while(! feof($file))
  {
  print_r(fgetcsv($file));
  }
fclose($file);
?>


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP的垃圾回收机制是怎样的?Nächster Artikel:PHP 获取当前 URL