侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

php操作csv文件代码实例汇总

php  /  管理员 发布于 7年前   138

1.读取csv数据, 输出到sales.csv文件中:

$sales = array(  array('Northeast', '2004-01-01', '2004-02-01', 12.54),  array('Northwest', '2004-01-01', '2004-02-01', 546.33),  array('Southeast', '2004-01-01', '2004-02-01', 93.26),  array('Southwest', '2004-01-01', '2004-02-01', 945.21),  array('All Regions', '---', '--', 1597.34),);$fh = fopen('sales.csv', 'w') or die("Can't open sales.csv");foreach($sales as $sales_line){  if(fputcsv($fh, $sales_line) === false){    die("Can't write CSV line");    }}fclose($fh) or die("Can't close sales.csv");

2. 读取csv数据, 使用特殊的流输出

$sales = array(  array('Northeast', '2004-01-01', '2004-02-01', 12.54),  array('Northwest', '2004-01-01', '2004-02-01', 546.33),  array('Southeast', '2004-01-01', '2004-02-01', 93.26),  array('Southwest', '2004-01-01', '2004-02-01', 945.21),  array('All Regions', '---', '--', 1597.34),);$fh = fopen('php://output', 'w');foreach($sales as $sales_line){  if(fputcsv($fh, $sales_line) === false){    die("Can't write CSV line");    }}fclose($fh);

3. 读取csv数据, 输出到缓冲中

$sales = array(  array('Northeast', '2004-01-01', '2004-02-01', 12.54),  array('Northwest', '2004-01-01', '2004-02-01', 546.33),  array('Southeast', '2004-01-01', '2004-02-01', 93.26),  array('Southwest', '2004-01-01', '2004-02-01', 945.21),  array('All Regions', '---', '--', 1597.34),);ob_start();$fh = fopen('php://output', 'w') or die("Can't open php://output");foreach($sales as $sales_line){  if(fputcsv($fh, $sales_line) === false){    die("Can't write CSV line");    }}fclose($fh) or die("Can't close php://output");$output = ob_get_contents();ob_end_clean();

4. 读取csv文件的数据

$fp = fopen('sample3.csv', 'r') or die("can't open file");print "\n";while($csv_line = fgetcsv($fp)){  print '';  for($i=0, $j=count($csv_line); $i<$j; $i++){    // print '';      print '';  }  print "\n";}print "
'.htmlentities($csv_line[$i]).''.htmlentities(iconv("gb2312","utf-8",$csv_line[$i])).'
\n";fclose($fp) or die("can't close file");

5. 下载CSV文件

$sales = array(  array('Northeast', '2004-01-01', '2004-02-01', 12.54),  array('Northwest', '2004-01-01', '2004-02-01', 546.33),  array('Southeast', '2004-01-01', '2004-02-01', 93.26),  array('Southwest', '2004-01-01', '2004-02-01', 945.21),  array('中国', '2004-01-01', '2004-02-01', 945.21),);$fh = fopen('php://output', 'w') or die("can't open php://output");$total = 0;// 告诉浏览器发送的是一个csv文件header('Content-Type: application/csv');header('Content-Disposition: attachment; filename="sales.csv"');// 输出表头fputcsv($output, array('Region', 'Start Date', 'End Date', 'Amount'));// 输出每一行数据, 并递增$totalforeach($sales as $sales_line){  if(fputcsv($fh, $sales_line) === false){    die("Can't write CSV line");    }else{    $total += $sales_line[3];    }}fputcsv($fh, array('All Regions', '--', '--', $total));fclose($fh) or die("Can't close php://output");

6.读取CSV文件指定行和区间行

/*****读取CSV文件中的指定行*****/function get_file_line_a($file_name,$line){ $n = 0; $handle = fopen($file_name,'r'); if ($handle) {  while (!feof($handle)) {    ++$n;    $out = fgets($handle, 4096);    if($line==$n) break;  }  fclose($handle); } if( $line==$n) return $out; return false;}echo get_file_line("windows_2011_s.csv", 10);//输入第10行内容/*****读取CSV文件中的区间行*****/function get_file_line_b( $file_name,$line_star, $line_end){  $n = 0;  $handle = fopen($file_name,"r");  if ($handle) {    while (!feof($handle)) {      ++$n;      $out = fgets($handle, 4096);      if($line_star <= $n){        $ling[] = $out;      }      if ($line_end == $n) break;    }    fclose($handle);  }  if( $line_end==$n) return $ling;  return false;}//用 get_file_line读取并输出第11行到第20行$aa = get_file_line("windows_2011_s.csv", 11, 20); //从第11行到第20行foreach ($aa as $bb){  echo $bb."
";}

您可能感兴趣的文章:

  • php使用fputcsv()函数csv文件读写数据的方法
  • php将文本文件转换csv输出的方法
  • php将csv文件导入到mysql数据库的方法
  • php使用fgetcsv读取csv文件出现乱码的解决方法
  • php导出csv数据在浏览器中输出提供下载或保存到文件的示例
  • PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
  • PHP按行读取、处理较大CSV文件的代码实例
  • php读取csv文件并输出的方法


  • 上一条:
    PHP中常用的输出函数总结
    下一条:
    PHP提示Cannot modify header information - headers already sent by解决方法
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • 用Time Warden监控PHP中的代码处理时间(0个评论)
    • 在PHP中使用array_pop + yield实现读取超大型目录功能示例(0个评论)
    • Property Hooks RFC在PHP 8.4中越来越接近现实(0个评论)
    • 近期文章
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-11
    • 2017-12
    • 2018-01
    • 2018-02
    • 2018-03
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-09
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-02
    • 2024-03
    • 2024-04
    • 2024-05
    • 2024-06
    • 2024-07
    • 2024-09
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客