自学内容网 自学内容网

使用 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
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


原文地址:https://blog.csdn.net/whf1215847706/article/details/143415160

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!