• php导出数据到csv


    序言

      php导出数据到csv是一种很常见的功能,且csv相比于excel文件有其一定的优势,首先csv对数据的行数没有限制,但是excel对数据的行数有一定的限制,因此,csv文件对于导出大量的数据来说很方便。

    相关函数

    • set_time_limit (0); //取消脚本运行时间的限制
    • ini_set('memory_limit', '256M');//设置php内存限制
    • 设置header头
    • $fp = fopen("php://output", "w");//打开php数据输出缓冲区,并返回一个句柄
    • mb_convert_variables('GBK', 'UTF-8', 数据);//将数据的字符集转成GBK编码
    • fputcsv(句柄, 数据);//将数据格式化为CSV格式并写入到output流中
    • fclose(句柄);//关闭输入缓冲区

    示例代码

    function export()
    {
        set_time_limit(0);
        ini_set('memory_limit', '256M');
        //下载csv的文件名
      $fileName = '示例.csv';
      //设置header头
        header('Content-Description: File Transfer');
        header('Content-Type: application/vnd.ms-excel');
        header('Content-Disposition: attachment; filename="' . $fileName . '"');
        header('Expires: 0');
        header('Cache-Control: must-revalidate');
        header('Pragma: public');
        //打开php数据输入缓冲区
        $fp = fopen('php://output', 'a');
        $heade = ['姓名', '性别', '手机号'];
        //将数据编码转换成GBK格式
        mb_convert_variables('GBK', 'UTF-8', $heade);
        //将数据格式化为CSV格式并写入到output流中
        fputcsv($fp, $heade);
        $data = [
            ['小明', '男', 17699019191],
            ['小红', '男', 17699019191],
            ['小黑', '女', 17699019191],
            ['小白', '女', 17699019191],
        ];
        //如果在csv中输出一个空行,向句柄中写入一个空数组即可实现
        foreach ($data as $row) {
            //将数据编码转换成GBK格式
            mb_convert_variables('GBK', 'UTF-8', $row);
            fputcsv($fp, $row);
            //将已经存储到csv中的变量数据销毁,释放内存
            unset($row);
        }
        //关闭句柄
        fclose($fp);
        die;
    } 
  • 相关阅读:
    973. K Closest Points to Origin
    919. Complete Binary Tree Inserter
    993. Cousins in Binary Tree
    20. Valid Parentheses
    141. Linked List Cycle
    912. Sort an Array
    各种排序方法总结
    509. Fibonacci Number
    374. Guess Number Higher or Lower
    238. Product of Array Except Self java solutions
  • 原文地址:https://www.cnblogs.com/zhangjianqiang/p/9999913.html
Copyright © 2020-2023  润新知