导出Excel

大憨熊 提交于 2020-01-15 20:04:29
/**
     * 导出 Excel
     * @param array $content    内容
     * @param string $fileName  文件名
     * @throws PHPExcel_Exception
     * @throws PHPExcel_Reader_Exception
     * @throws PHPExcel_Writer_Exception
     */
    public function exportExcel($content = array(), $fileName = '') {
        if (empty($content)) die('内容不能为空!');
        if (empty($fileName)) die('文件名不能为空!');

        // 设置页面等待时间
        set_time_limit(0);
        // 不限制内存
        ini_set('memory_limit', -1);
        // 获取当前文件地址
        $dqml = dirname(__FILE__);
        // 引入库
        require "{$dqml}/libs/PHPExcel.php";

        $objPHPExcel = new PHPExcel();
        // 所有单元格居中
        $objPHPExcel->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

        // 内容
        $i = 1;
        // 外循环产生每一列
        foreach ($content as $value) {
            // 内循环产生每一行
            foreach ($value as $k => $val) {
                // 数字列转换为字母列 如:27变为AA
                $objPHPExcel->getActiveSheet()->setCellValue(PHPExcel_Cell::stringFromColumnIndex($k) . $i, $val);
            }
            $i++;
        }

        $filename = iconv('UTF-8', 'UTF-8', $fileName);
        header('Pragma: public');
        header('Expires: 0');
        header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header('Content-Type: application/force-download');
        header('Content-Type: application/vnd.ms-execl');
        header('Content-Type: application/octet-stream');
        header('Content-Type: application/download');
        header("Content-Disposition: attachment; filename=$filename");
        header('Content-Transfer-Encoding: binary');
        $objPHPExcel->setActiveSheetIndex(0);
        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
        $objWriter->save('php://output');
        exit;
    }
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!