我发现了这项工作,我无法弄明白这是什么问题。 我下载了一个xls文件,但它会打开。 我有一个像这样的mysql脚本,工作,我试图将其转换为mysqli,可能是出了点问题...... 提前致谢
$sqlExp = "SELECT * FROM table";
$countQryExp = mysqli_query($link, $sqlExp );
$filename = "sampledata.xls"; // File Name
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: application/vnd.ms-excel");
$flag = false;
while($row=mysqli_fetch_array($countQryExp,MYSQLI_ASSOC))
{
if(!$flag) {
// display field/column names as first row
echo implode("\t", array_keys($row)) . "\r\n";
$flag = true;
}
echo implode("\t", array_values($row)) . "\r\n";
}
答案 0 :(得分:1)
生成Excel文件要比提供内容类型application/vnd.ms-excel
要多得多。 Excel是一种非常特殊的格式,而您正在生成TSV文件 - 制表符分隔值,并且以非常易碎的方式(如果有人在您的某个网站的字段中放置\t
会发生什么情况,还是新的一行?)。
如果您想生成真实的Excel文件,那么您需要one of the various libraries这样做。如果CSV / TSV正常,只需导出带有正确标题的.csv
/ .tsv
文件。