zoukankan      html  css  js  c++  java
  • 导出csv文件(php实现)

    <?php
    
    namespace AppLibrarylib;
    
    class CsvLib
    {
        /**
         * 【构造函数】
         *
         */
        public function __construct() {
    
        }
    
        /**
         * 导出csv
         * @param $data
         *
         * $data示例:
         * $data = [
         *     'xlsTitle' => [
         *         'RFID', '商品名称', '单位', '入仓时间', '进货价', '零售价', '状态'
         *      ],
         *      'xlsName' => '已贴标库存',
         *      'xlsList' => $xlsList
         *  ];
         *
         * $data['xlsTitle'] : 表头
         * $data['xlsName'] : 文件名称
         * $data['xlsList'] : 表数据
         */
        public static function export($data)
        {
            $xlsTitle = $data['xlsTitle'];
            $arrayKeys = array_keys($xlsTitle);
            $xlsName = $data['xlsName'];
            $xlsList = $data['xlsList'];
            //  头部
            $string = '';
            foreach ($xlsTitle as $key => $val) {
                $xlsTitle[$key] = iconv('utf-8', 'gb2312', $val);
            }
            $string .= implode(',', $xlsTitle) . "
    ";
    
            //  内容
            foreach ($xlsList as $key => $value) {
                $exportData = [];
                foreach ($arrayKeys as $k) {
                    $value = array_values($value);
                    $exportData[$k] = addslashes(iconv('utf-8', 'GBK//IGNORE', str_replace(',', '', $value[$k])));
                }
                $string .= implode(',', $exportData) . "
    ";
            }
            $filename = $xlsName . date('Y-m-d H:i:s') . '.csv';
            header("Content-type:text/csv");
            header("Content-Disposition:attachment;filename=" . $filename);
            header("Cache-Controller:must-revalidate,post-check=0,pre-check=0");
            header('Expires:0');
            echo $string;
        }
    
    
    }
  • 相关阅读:
    leetcode 15. 三数之和
    leetcode 168. Excel表列名称
    142. 环形链表 II
    144. 二叉树的前序遍历(非递归)
    415. 字符串相加
    剑指 Offer 31. 栈的压入、弹出序列
    剑指 Offer 27. 二叉树的镜像
    剑指 Offer 29. 顺时针打印矩阵
    剑指 Offer 10- II. 青蛙跳台阶问题
    VBA 实现excel单元格多选
  • 原文地址:https://www.cnblogs.com/zhengchuzhou/p/9933285.html
Copyright © 2011-2022 走看看