zoukankan      html  css  js  c++  java
  • tp3使用PHPExcel 导出excel

    /**
     * 通用导出
     * array $data 导出数据
     * array $indexKey 导出数据键
     * array $headArr 表头
     * string $title 生成文件名
     *
     * 必须保持 $indexKey 和 $headArr 顺序对应才能保证导出数据准确
     */
    function plainExportExcel($data,$indexKey,$headArr,$title)
    {
        //引入核心文件
        import("Org.Util.PHPExcel");
        import("Org.Util.PHPExcel.IOFactory");
        $objPHPExcel = new PHPExcel();
        $objWriter =  PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
        // 设置excel文档的属性
        $objPHPExcel->getProperties();
        $fileName = $title.date("Y-m-d",time()).".xls";
        //excel头
        $letter = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","AA","AB","AC","AD","AE","AF","AG","AH","AI","AJ","AK","AL","AM","AN","AO"];
        //设置表头
        $num = 0;
        foreach($headArr as $v){
            $objPHPExcel->setActiveSheetIndex(0) ->setCellValue($letter[$num].'1', $v);
            $num ++;
        }
        $column = 2;
        $objActSheet = $objPHPExcel->getActiveSheet();
        //写入内容
        foreach($data as $key => $rows){
            //行写入
            $num = 0;
            foreach ($indexKey as $ki => $vi) {
                //列写入
                $objActSheet->setCellValue($letter[$num].$column, $rows[$vi]);
                $num++;
            }
            $column++;
        }
    
        $fileName = iconv("utf-8", "gb2312", $fileName);
        $objPHPExcel->setActiveSheetIndex(0);
        ob_end_clean();
        ob_start();
        Header('content-Type:application/vnd.ms-excel;charset=utf-8');
        header('Content-Type: application/vnd.ms-excel');
        header("Content-Disposition: attachment;filename="$fileName"");
        header('Cache-Control: max-age=0');
        header('content-type:application/octet-stream');
        $objWriter->save('php://output'); //文件通过浏览器下载
    }
  • 相关阅读:
    Python学习1——语法
    Java正则表达式:Pattern类和Matcher类
    BufferedReader 是缓冲字符输入流
    asm 01 开发环境
    vim一个不使用插件的基本配置
    sublime
    一些东西
    jshint 一些选项(转载)
    prototype 和__proto__
    vim 基本使用
  • 原文地址:https://www.cnblogs.com/yuanshen/p/13570452.html
Copyright © 2011-2022 走看看