gpt4 book ai didi

php - Excel 导出 : browser hangs up

转载 作者:太空宇宙 更新时间:2023-11-04 11:37:18 24 4
gpt4 key购买 nike

我用这个http://phpexcel.codeplex.com/导出到 excel。

需要导出 11000 - 65000 行...但是在尝试执行此操作时浏览器挂断了。它不会回答错误或其他消息。仅显示该请求正在进行中。

top 显示 apache 已完成工作。甚至 apache 日志都说一切都完成了:

x.x.x.x - - [28/Jul/2011:12:28:38 +0300] "POST /doctor/lab/statistic/ HTTP/1.1" 200 2773504 "http://x.x.x.x:82/doctor/lab/statistic/" "Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0"

还是没有结果。

系统:

Linux Eearth 2.6.34-12-desktop #1 SMP PREEMPT 2010-06-29 02:39:08 +0200 i686
PHP Version 5.3.5
Apache/2.2.15 (Linux/SUSE)

所以问题

编辑 1

header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$filename.'.xls"');
header('Cache-Control: max-age=0');
$writer = PHPExcel_IOFactory::createWriter($xls, 'Excel5');
$writer->save('php://output');
exit;

编辑 2

我尝试像这样将数据保存到文件 $writer->save('test.xls'); 文件大小 2.7MB那么如果我这样做:

header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$filename.'.xls"');
header('Cache-Control: max-age=0');
include 'test.xls';
exit;

立即开始下载...

最佳答案

您的 Web 服务器可能没有发出错误消息,所以我会说检查您的 error.log(应该在/var/log/apache2 或类似文件中闲逛)。它可能是一些微不足道的事情,比如不能够写入临时文件。

如果结果是死胡同,请考虑使用回显语句以编程方式创建 CSV 文件 - Excel 将打开这些文件。

编辑

要生成 CSV,请制作标题

header('Content-Type: text/comma-separated-values);
header('Content-Disposition:attachment;filename="'.$filename.'.csv"');
header('Cache-Control: max-age=0');

然后输出你的列标题:

echo "col1,col2,col3,col4,..." 

后跟一个新行。然后输出你的数据:

while(/*Still got some rows*/) {
echo $row[0] . "," .$row[1] "," + ...
}

看看:http://en.wikipedia.org/wiki/Comma-separated_values ,这是一种非常简单的文件格式,Excel 可以毫不费力地打开它。

我没有想到的另一件事是,如果您可以访问 Windows 服务器,则可以直接通过 COM 互操作生成 Excel 文件。

关于php - Excel 导出 : browser hangs up,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6857075/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com