• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

PHP 导出CSV格式

武飞扬头像
PycSX
帮助1

原生PHP 导出CSV格式文件

  1.  
    public function exportCSV(){
  2.  
    //示例数组数据
  3.  
    $new_arr = array(
  4.  
    array(
  5.  
    'gw_name' => '123',
  6.  
    'zw_name' => '345',
  7.  
    'score' => '67.6',
  8.  
    ),
  9.  
    array(
  10.  
    'gw_name' => 'ABC',
  11.  
    'zw_name' => '345',
  12.  
    'score' => '67.6',
  13.  
    ),
  14.  
    array(
  15.  
    'gw_name' => 'DEF',
  16.  
    'zw_name' => '345',
  17.  
    'score' => '67.6',
  18.  
    ),
  19.  
    array(
  20.  
    'gw_name' => 'EFG',
  21.  
    'zw_name' => '345',
  22.  
    'score' => '67.6',
  23.  
    ),
  24.  
    );
  25.  
    //处理遍历数据格式放入新的数组$res
  26.  
    foreach($new_arr as $k => $v){
  27.  
    $res['allList'][$k] = array(
  28.  
    'gw_name' => $v['gw_name'],
  29.  
    'zw_name' => $v['zw_name'],
  30.  
    'score' => $v['score'],
  31.  
    );
  32.  
    }
  33.  
    //定义表头 (表头要和上面的$res['allList']数据相对应)
  34.  
    $res['title'] = array(
  35.  
    'gw_name' => '岗位名称',
  36.  
    'zw_name' => '职位名称',
  37.  
    'score' => '分数',
  38.  
    );
  39.  
    $headerList = array(); //定义表头
  40.  
    $machineData = array(); //定义数据
  41.  
    //处理表头放入新的数组中
  42.  
    foreach ($res['title'] as $k => $v){
  43.  
    $headerList[] = $v;
  44.  
    }
  45.  
    //处理数据放入新的数组中
  46.  
    foreach ($res['allList'] as $k => $v){
  47.  
    foreach ($v as $key => $val){
  48.  
    $machineData[$k][] = $val;
  49.  
    }
  50.  
    }
  51.  
    $result = array();
  52.  
    // 打开文件资源,不存在则创建
  53.  
    $time = time();
  54.  
    $fileName = date('Ym',time()).$time;
  55.  
    //导出文件地址 ./表示当前服务器地址
  56.  
    $des_file = './Uploads/CSV/'.$fileName.'_export.csv';
  57.  
    $fp = fopen($des_file,'a');
  58.  
    // 处理头部标题
  59.  
    $header = implode(',', $headerList) . PHP_EOL;
  60.  
    // 处理内容
  61.  
    $content = '';
  62.  
    foreach ($machineData as $k => $v) {
  63.  
    $content .= implode(',', $v) . PHP_EOL;
  64.  
    }
  65.  
    // 拼接
  66.  
    $csv = $header.$content;
  67.  
    // 写入并关闭资源
  68.  
    fwrite($fp, $csv);
  69.  
    fclose($fp);
  70.  
    //把文件输出到下载
  71.  
    // $file = fopen($des_file,"r"); // 打开文件
  72.  
    // $size=filesize($des_file);
  73.  
    // Header("Content-type: application/octet-stream");
  74.  
    // Header("Accept-Ranges: bytes");
  75.  
    // Header("Accept-Length: ".$size);
  76.  
    // Header("Content-Disposition: attachment; filename=download.csv");
  77.  
    // echo fread($file,$size);
  78.  
    // fclose($file);
  79.  
    $result['status'] = 200;
  80.  
    $result['msg'] = '成功';
  81.  
    //打印csv文件的地址
  82.  
    $result['url'] = 'https://************/Uploads/CSV/'.$fileName.'_export.csv';
  83.  
    $this->ajaxReturn($result,'JSON');
  84.  
    }
学新通

亲测有效~ 如有不好用的下方评论改正

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgfbkhj
系列文章
更多 icon
同类精品
更多 icon
继续加载