我在一个网站上工作,直到周一我们都能够下载一个自定义的 Excel 文件表并显示它。此时,每当我们尝试打开它时,如果 Excel 当前没有运行,它就会启动一个空白的、灰显的工作簿,否则什么也不会。我尝试编辑内容类型无济于事。我曾尝试使用当时有效的旧数据创建文档,但它不起作用。一个月内,文件系统上没有任何变化,而且它才刚刚开始。这是用于生成文件的当前代码:
header('Pragma: public');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: private', false);
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename=' . $fname);
ob_clean();
ob_flush();
echo $somecontent;
exit;
我发现目前解决此问题的唯一方法是在 Notepad++ 中打开文件,对其进行编辑并保存,然后允许它在 Excel 中正确打开。
任何帮助,将不胜感激。
编辑 1:所以因为下面的评论没有太大帮助,我环顾四周,找到了这个视频,在禁用这三个选项后,我可以再次打开文件,而无需先通过 Notepad++。然后,我缩小了导致“保护源自互联网的文件”问题的范围,即使在它们正常工作之前也是如此。