用CSV文件读写数据的两种方式(转)

导读:有时候我们需要对收集的数据做统计,并在页面提供显示以及下载。除了对传统的excel存取之外,对CSV文件的存取也很重要。本文列出了这两种操作的详细代码。



代码:

<?php 

$file = fopen('text.csv','r');
while ($data = fgetcsv($file)) { //每次读取CSV里面的一行内容 
//print_r($data); //此为一个数组,要获得每一个数据,访问数组下标即可
$goods_list[] = $data;
}
//print_r($goods_list);
echo $goods_list[0][1];
fclose($file); 
?>



  在实际工作中,很多时候需要把网站上的一些数据下载到CSV文件里,方便以后查看。
亦或者是用CSV进行一些批量的上传工作。
这个时候我们就需要对CSV进行读写操作。
php CSV的读取操作

代码:


<?php 

$file = fopen('D:/file/file.csv','r'); 
while ($data = fgetcsv($file)) { //每次读取CSV里面的一行内容 
print_r($data); //此为一个数组,要获得每一个数据,访问数组下标即可 

fclose($file); 
?>

<?php $file = fopen('D:/file/file.csv','r'); while ($data = fgetcsv($file)) { //每次读取CSV里面的一行内容 print_r($data); //此为一个数组,要获得每一个数据,访问数组下标即可 } fclose($file); ?>
CSV的写入操作
代码:

<?php 
$fp = fopen('d:/file/file.csv', 'w'); 
fputcsv($fp,array('aaa','bbb','cccc')); // www.jbxue.com
fputcsv($fp,array('mmm','yyy','haha')); //fputcsv可以用数组循环的方式进行实现 
fclose($fp); 
?>

<?php $fp = fopen('d:/file/file.csv', 'w');

fputcsv($fp,array('aaa','bbb','cccc'));

fputcsv($fp,array('mmm','yyy','haha')); //fputcsv可以用数组循环的方式进行实现 fclose($fp);

?>



输出CSV(下载功能)

代码:


<?php 

header("Content-Type: text/csv"); 
header("Content-Disposition: attachment; filename=test.csv"); 
header('Cache-Control:must-revalidate,post-check=0,pre-check=0'); 
header('Expires:0'); 
header('Pragma:public'); 
echo "id,areaCode,areaName/n"; 
echo "1,cn,china/n"; 
echo "2,us,America/n"; 
?>

输出excel(下载功能)

header("Content-type:application/vnd.ms-excel"); 
header("Content-Disposition:filename=php100.xls");
echo "id,areaCode,areaName/n"; 
echo "1,cn,china/n"; 
echo "2,us,America/n";

原文地址:https://www.cnblogs.com/xingmeng/p/3540481.html