Excel 文件存储在数据库中(以前二进制数据的十六进制值)。我需要阅读它并使其可供下载。
这是代码...
$out = hex2bin($out); // the stuff from the database
header("Content-Type: application/vnd.ms-excel");
header("Content-Transfer-Encoding: binary");
header("Content-Disposition: attachment; filename='$filename'");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
die($out);
实际上我收到了东西......它看起来像原始文件,略有不同。使用十六进制编辑器时,它显示
ÐÏࡱá
代替
ÐÏࡱá
(看起来像一个附加选项卡)。所以 Excel 不能显示工作表,而是显示原始数据。
这不是来自 ; 中的数据$out
。转换 bin2hex(在数据库中导入期间)和 hex2bin(从数据库中导出)可以正常工作。如果我$out
通过 fopen / fwrite 写入文件,它正是原始 Excel 文件(我可以正常打开)。
我怎样才能做到这一点?