zoukankan      html  css  js  c++  java
  • yii的csv导出

    数据导出,简单的csv导出

    /**
     * 导出csv
     * @author yhdsir
     * @param array    $parameter header 表头
     * @param array    $parameter data   数据
     * @param string   $filename         导出名字
     */
    public function export($parameter, $filename = '')
    {
        if (empty($filename)) {
            $filename = date('Y-m-d_H-i-s');
        }
    
        $filename = str_replace(array('"', "'", ' ', ','), '_', $filename) . '.csv';
    
        if (is_array($parameter)) {
            header('Content-Type: application/vnd.ms-excel');
            header('Cache-Control: max-age=0');
            header("Content-Disposition: attachment;filename={$filename}");
            $fp = fopen('php://output', 'w');
            //fwrite($fp, chr(0xEF) . chr(0xBB) . chr(0xBF));  // 添加 BOM
            if (!empty($parameter['header']) && is_array($parameter['header'])) {
                foreach ($parameter['header'] as $i => $v) {
                    // CSV的Excel支持GBK编码,一定要转换,否则乱码 
                    // $head[$i] = iconv('utf-8', 'gbk', $v); 
                    $parameter['header'][$i] = iconv('utf-8', 'gb2312//TRANSLIT//IGNORE', $v);
                }
                // 将数据通过fputcsv写到文件句柄 
                fputcsv($fp, $parameter['header']);
            }
            if (isset($parameter['data'])) {
                foreach ($parameter['data'] as $row) {
                    foreach ($row as $i => $v) {
                        $row[$i] = iconv('utf-8', 'gb2312//TRANSLIT//IGNORE', $v);
                    }
                    fputcsv($fp, $row);
                }
            }
            fclose($fp);
    
            return true;
        }
        throw new yiiwebHttpException(500, "Not a valid parameter!");
    }

    $parameter['header']-------表头
    $parameter['data']-------数据

    另外的资料:http://www.yiichina.com/extension/464?sort=desc

  • 相关阅读:
    android 混淆代码 -- 报错:can't find referenced class
    adb shell 删除删除指定文件夹和文件
    php GD库
    javascript的继承实现
    Mysql
    如何使用canvas画星星
    基于形态编程设计类
    算法
    腾讯web前端一面
    如何去克服害怕
  • 原文地址:https://www.cnblogs.com/yhdsir/p/5763440.html
Copyright © 2011-2022 走看看