繁体   English   中英

PHPexcel,如何下载未损坏的文件?

[英]PHPexcel, and how to download uncorrupted file?

我搜索了几个小时,仔细阅读了数十页,试图找到答案。

我正在使用PHPexcel生成电子表格,并将其保存为Excel 2007 .xlsx文件在服务器上。 如果我直接从服务器下载.xlsx文件并在计算机上打开它,则可以正常打开。 没问题。

如果我使用php脚本下载文件(通过readfile() ),则ms excel会向我显示“此文件已损坏...”消息。

好的,我已经对两个文件进行了十六进制文件比较,但是没有明显的区别!

这会在我的ubuntu服务器(运行php 5.3.2)和wampserver(运行PHP 5.3.13的Windows 8、64位环境)上发生。

我检查了所有内容以确保在readfile()之前没有\\ t或\\ n或任何其他输出发送出去;

我使用了ob_start和ob_end_clean()来确保没有输出被发送。

我没有将PHP v 5.2.8与错误的php_zip.dll二进制文件一起使用。

并得到这个! , 这太疯狂了。

我什至使用MS excel程序创建了一个excel文件。 文件没有问题。 我将其直接上传到我的服务器,然后通过链接直接访问它。 它会下载,当我尝试打开它时,出现“文件已损坏,无法打开”消息。

如果您想尝试一下,可以使用以下直接链接: http : //db.doanddare.org/Lyv6r_y7echVnAcUG4fGUw/testing.xlsx

是的,它是指向我刚刚在excel中创建并上传的测试文件的直接链接。 此处不涉及任何php处理或标头。

堆栈溢出是我的最后选择! 谢谢你的帮助。

哦,我使用的是excel 2013预览版,如果有帮助的话...

不确定是否仍然存在此问题,距您提出问题已经过去了两年,但我刚遇到问题,并找到了解决方案:

您需要在Excel中更改设置-它为我解决了问题。

  1. 打开Excel。
  2. 单击“文件”,然后单击“选项”。
  3. 选择“信任中心”,然后选择“信任中心设置”。
  4. 选择“保护视图”。
  5. 取消选中“受保护的视图”下的选项,然后单击“确定”。
  6. 重新启动Excel并尝试打开Excel文档。

(原始资料:Microsoft Excel帮助页面)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM