当前位置: 首页 > article >正文

使用 phpOffice\PhpSpreadsheet 做导出功能

安装

composer install phpoffice/phpspreadsheet

创建 execl 文件

use PhpOffice\PhpSpreadsheet\Spreadsheet;

# 声明Execl对象
$objPHPExcel = new Spreadsheet();
# 指定工作间
$sheet = $objPHPExcel->setActiveSheetIndex(0);

保存文件到服务器

use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

$writer = new Xlsx($objPHPExcel);
$fileName = './xlsx/' . date('YmdHis') . '.xlsx';
$writer->save($fileName);

将文件输出到浏览器

use PhpOffice\PhpSpreadsheet\Writer\Xlsx;



$writer = new Xlsx($objPHPExcel);
ob_start();  // 开启缓存区
$fileName = './xlsx/' . date('YmdHis') . '.xlsx';
$writer->save($fileName);
$c = ob_get_contents();   // 获取缓存区内容
ob_flush();  // 输出缓存区
flush();

注意

两个函数都是用来刷新输出缓冲区的。但是它们的作用不同。

ob_flush() 函数将输出缓冲区中的内容发送到服务器,使得服务器立即发送数据到客户端浏览器。但是,这并不意味着所有数据都会被浏览器接收和显示出来。因为HTTP协议是分块传输的,数据可能只被一部分接收并显示,而另一部分在后续传输中才被接收和显示。因此,如果需要确保数据被完整地传输并显示出来,需要使用flush()

flush()函数将输出缓冲区中的内容立即发送到客户端,并等待客户端确认完成后再继续执行脚本。这可以确保数据被完整地传输给浏览器,并且在服务器和浏览器之间建立了一条可靠的连接。但是,flush()函数的执行会造成脚本的阻塞,直到客户端接收并确认完成,因此需要谨慎使用。



作者:双月鸟
链接:https://www.jianshu.com/p/0a8514929e24
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


http://www.kler.cn/a/374597.html

相关文章:

  • 超分子水凝胶与细胞的互动:现状、难题与未来蓝图
  • 计算机毕业设计——ssm驾校预约系统 演示录像 2021
  • 迷茫内耗的一天
  • Android 中View.post的用法
  • 目录遍历漏洞
  • 编程之路:蓝桥杯备赛指南
  • idea使用Translation插件实现翻译
  • 学习路之TP6--workman安装
  • 简单的kafkaredis学习之redis
  • vue项目中如何在路由变化时增加一个进度条
  • 基于SSM+小程序的宿舍管理系统(宿舍1)
  • 深度学习基础—循环神经网络(RNN)
  • spring中bean的四种创建方式
  • 单向数据流在 React 中的作用
  • docker engine stopped
  • 【力扣 + 牛客 | SQL题 | 每日5题】牛客SQL热题204,201,215
  • 医疗器械设备语音ic芯片方案-选型大全
  • 基于vue、VantUI、django的程序设计
  • nodejs包管理器pnpm
  • 二十七、Python基础语法(面向对象-上)
  • OLAP与OLTP:数据处理系统的两种核心架构
  • Redis-发布/订阅交互模式
  • vue简介
  • 组织如何防御日益增加的 API 攻击面
  • 如何使用java雪花算法在分布式环境中生成唯一ID?
  • 机器学习——自动化机器学习(AutoML)