zoukankan      html  css  js  c++  java
  • laravel实现十几万数据直接浏览器导出csv文件 able

    public function export(Request $request)
    {
      // 查询数据库数据
      $list = .....;
      $this->userListExport($list);
    }

    public function userListExport($list)
    {
    // 导出充值记录的头部信息
    $cell = ['头像', '微信昵称', '备注', ];

    $cellData = [];
    foreach ($list as &$value) {
           // 填充数据
    $cellData[] = ([
    '',
    '',
    '',
    ]);
    }
    $this->exportUser($cell, $cellData);
    }


    public function exportUser($cell, $data, $title = '客户列表')
    {
    header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition: attachment;filename="' . $title . '.csv"');
    header('Cache-Control: max-age=0');

    set_time_limit(0); // 设置脚本最大执行时间 为0
    ini_set('memory_limit', '1024M'); // 临时设置最大内存占用

    // 打开PHP文件句柄,php://output 表示直接输出到浏览器
    $fp = fopen('php://output', 'a');

    $column_name = [];
    // 将中文标题转换编码,否则乱码
    foreach ($cell as $i => $v) {
    $column_name[$i] = iconv('utf-8', 'GBK//IGNORE', $v);
    }

    // 将标题名称通过fputcsv写到文件句柄
    fputcsv($fp, $column_name);
    foreach ($data as $row) {
    foreach ($row as $key => $item) {
    $row[$key] = iconv('utf-8', 'GBK//IGNORE', $item);
    }
    fputcsv($fp, $row);
    }
    $res = ['file' => $title];
    return response()->json($res);
    }
  • 相关阅读:
    SQL Server CheckPoint的几个误区
    MongoDB集群与LBS应用系列(一)
    也来“玩”Metro UI之磁贴
    Python基础:函数式编程
    ASP.NET MVC 用户登录Login
    巧用 .NET 中的「合并运算符」获得 URL 中的参数
    Razor.js,基于JavaScript的Razor实现
    大话数据结构-排序
    hdu 1498
    3.7 检测两个表中是否有相同的数据
  • 原文地址:https://www.cnblogs.com/jiaoda/p/15671505.html
Copyright © 2011-2022 走看看