PHPExcel数据导出到Excel文件

Posted 叶少翔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHPExcel数据导出到Excel文件相关的知识,希望对你有一定的参考价值。

/**
     * 数据导出到Excel文件
     *
     * @param object $data 要导出的数据内容
     * @param object $headArr 设置Excel的头名称
     * @param string $fileName 导出的文件名称
     * @param string $width 设置单元格的宽度
     *
     * @throws phpExcel_Exception 异常控制
     * @throws PHPExcel_Reader_Exception 控制Excel加载时的异常
     * @throws PHPExcel_Writer_Exception 控制Excel写入时的异常
     * @return bool
     */
    public function outPutExcel($data, $headArr, $fileName, $width = ‘30‘)
    {
        //如果没有数据返回false
        if (empty($data) || !is_array($data)) {
            return false;
        }
        //设置今天日期以便给Excel文件命名
        $date = date("Y_m_d", time());
        $fileName .= "_{$date}.xlsx";

        //实例化PHPExcel对象
        $objPHPExcel = new PHPExcel();

        //设置表头
        $index = ord("A");

        $objActSheet = $objPHPExcel->getActiveSheet();
        //生成表头
        foreach ($headArr as $value) {
            $columnHeader = chr($index);
            $objPHPExcel->setActiveSheetIndex(0)->setCellValue($columnHeader . ‘1‘, $value);
            $objActSheet->getColumnDimension($columnHeader)->setWidth($width);
            $index += 1;
        }

        $columnData = 2;
        foreach ($data as $key => $rows) {
            $span = ord("A");
            foreach ($rows as $keyName => $value) {
                // 列写入
                $j = chr($span);
                $objActSheet->setCellValue($j . $columnData, $value);
                $span++;
            }
            $columnData++;
        }

        //编码转换
        $fileName = iconv("utf-8", "gbk", $fileName);

        //设置活动单指数到第一个表,所以Excel打开这是第一个表
        $objPHPExcel->setActiveSheetIndex(0);

        //将输出重定向到一个客户端web浏览器(Excel2007)
        header(‘Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet‘);
        header("Content-Disposition: attachment; filename="$fileName"");
        header(‘Cache-Control: max-age=0‘);
        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel2007‘);
        $objWriter->save(‘php://output‘); //文件通过浏览器下载
        return true;
    }

  

以上是关于PHPExcel数据导出到Excel文件的主要内容,如果未能解决你的问题,请参考以下文章

php怎么导出大量数据的Excel,phpexcel

phpexcel 导入数据不能超过122条

phpexcel导出数据表格

phpexcel导出数据表格

php导出excel表后,打包成压缩包,然后下载到本地如何实现?

phpexcel导出阿里云图片