最新公告
  • 欢迎您光临立业阁,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 【PHP】利用phpspreadsheet将数据输出到Excel文件_php教程


    本篇文章我们将介绍利用phpspreadsheet将数据输出到Excel文件的方法,供大家学习参考。

    之前我们使用PHP导出Excel数据时使用的是PHPExcel库,但是phpoffice已经官方宣布PHPExcel已经被废弃不在维护,推荐使用phpspreadsheet,如下图所示

    我们可以通过composer安装phpspreadsheet

    composer require phpoffice/phpspreadsheet

    使用phpspreadsheet导出学生信息到浏览器代码示例

    /**
     * 输出到浏览器(需要设置header头)
     * @param string $fileName 文件名
     * @param string $fileType 文件类型
     */
    function excelBrowserExport($fileName, $fileType) {
    
        //文件名称校验
        if(!$fileName) {
            trigger_error('文件名不能为空', E_USER_ERROR);
        }
    
        //Excel文件类型校验
        $type = ['Excel2007', 'Xlsx', 'Excel5', 'xls'];
        if(!in_array($fileType, $type)) {
            trigger_error('未知文件类型', E_USER_ERROR);
        }
    
        if($fileType == 'Excel2007' || $fileType == 'Xlsx') {
            header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
            header('Content-Disposition: attachment;filename="'.$fileName.'.xlsx"');
            header('Cache-Control: max-age=0');
        } else { //Excel5
            header('Content-Type: application/vnd.ms-excel');
            header('Content-Disposition: attachment;filename="'.$fileName.'.xls"');
            header('Cache-Control: max-age=0');
        }
    }
    
    $data = [
        [1, 'jack', 10],
        [2, 'mike', 12],
        [3, 'jane', 21],
        [4, 'paul', 26],
        [5, 'kitty', 25],
        [6, 'yami', 60],
    ];
    
    $title = ['id', 'name', 'age'];
    
    $spreadsheet = new Spreadsheet();
    $worksheet = $spreadsheet->getActiveSheet();
    
    //设置工作表标题名称
    $worksheet->setTitle('工作表格1');
    
    //表头
    //设置单元格内容
    foreach ($title as $key => $value) {
        $worksheet->setCellValueByColumnAndRow($key+1, 1, $value);
    }
    
    $row = 2; //从第二行开始
    foreach ($data as $item) {
        $column = 1;
    
        foreach ($item as $value) {
            $worksheet->setCellValueByColumnAndRow($column, $row, $value);
            $column++;
        }
        $row++;
    }
    
    
    $fileName = '学生信息';
    $fileType = 'Xlsx';
    
    //1.下载到服务器
    //$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
    //$writer->save($fileName.'.'.$fileType);
    
    //2.输出到浏览器
    $writer = IOFactory::createWriter($spreadsheet, 'Xlsx'); //按照指定格式生成Excel文件
    excelBrowserExport($fileName, 'Xlsx');
    $writer->save('php://output');

    导出结果如图所示:

    相关教程:PHP视频教程

    以上就是【PHP】利用phpspreadsheet将数据输出到Excel文件的详细内容,更多请关注liyege.cn其它相关文章!

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    • 1187会员总数(位)
    • 111860资源总数(个)
    • 4本周发布(个)
    • 0 今日发布(个)
    • 248稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情
    冀ICP备19022365号-1 百度地图

    [email protected]

    立业阁(www.liyege.cn)免费提供wordpress主题模板、dedecms模板、帝国cms模板、小说网站源码、电影网站源码以及网络技术分享,建站源码,小说模板,电影模板,网赚教程,VPS推荐