欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > 使用 phpOffice\PhpSpreadsheet 做导出功能

使用 phpOffice\PhpSpreadsheet 做导出功能

2024/11/29 16:30:20 来源:https://blog.csdn.net/whf1215847706/article/details/143415160  浏览:    关键词:使用 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
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com