执行此操作时:
<?php
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=test.xls");
header("Pragma: no-cache");
header("Expires: 0");
$flag = false;
foreach($data as $row) {
if(!$flag) {
echo implode("\t", array_keys($row)) . "\n";
$flag = true;
}
array_walk($row, __NAMESPACE__ . '\cleanData');
echo implode("\t", array_values($row)) . "\n";
}
exit;
打开下载的.xls文件时出现如下错误。
您尝试打开Facemappsoft.xls的文件格式与文件扩展名不同
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:2)
您正在生成tab-separated values文件并为其提供Excel 97-2003兼容文件扩展名(* .xls)。
Excel在打开文件时抱怨这种不匹配。
要解决此问题,您需要为文件提供适当的扩展名(* .tsv),并将Content-Type
标题更新为正确描述文件格式的标题,例如:
Content-Type: text/tab-separated-values