导出Excel

/**
     * 导出 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;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值