• php phpspreadsheet导出数据


     http://www.liuyangdeboke.cn/?post=309

    上面的链接是具体到某些属性的用法,下面只是最简单的导出excel

    composer require phpoffice/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');
  • 相关阅读:
    视频直播思路
    Swift 算法实战之路:栈和队列
    多线程(RunLoop)
    Charle抓包与wireshark使用
    CoreData归纳使用
    支付宝接入心得(流程)
    TableView的性能优化
    app启动页问题
    公司的开发者账号申请
    java关于时间的笔记
  • 原文地址:https://www.cnblogs.com/zonglonglong/p/13580111.html
Copyright © 2020-2023  润新知