Excel无法打开文件,因为文件格式或文件扩展名无效 - 通过php下载excel

时间:2017-01-23 02:11:07

标签: php excel

这个问题有变种。不幸的是他们无法帮助我。

以下代码完美无缺(使用纤薄)。用户头()如果不使用slim。

    $response = $res->withHeader('Content-Description', 'My File transfer')
     ->withHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
     ->withHeader('Content-Disposition', 'attachment;filename="'.basename($filePath).'"')
     ->withHeader('Expires', '0')
     ->withHeader('Content-Transfer-Encoding', 'binary')
     ->withHeader('Cache-Control', 'must-revalidate')
     ->withHeader('Pragma', 'public')
     ->withHeader('Content-Length', filesize($filePath));

    readfile($filePath);

我尝试了ob_start,flush,从其他答案结束组合,但没有任何帮助。

我能够在服务器上打开文件,但是在我通过上面的代码下载后尝试打开它时,Excel无法打开它 - Excel无法打开文件,因为文件格式或文件扩展名无效。< / p>

1 个答案:

答案 0 :(得分:0)

以十六进制打开文件(源代码和下载文件)以查找明显的差异。

在我的情况下,它是一个领先的0d0a(换行和回车)

这是来自新的一行?&gt; (php关闭标签)!!!我之后删除了新行?&gt;我可以让它工作(可以打开文件)

我希望它有助于某人。刚刚失去了3个小时计算出来。