我将PHP生成的数据转换成HTML表格式并使用以下代码我导出到EXCEL
function compare_dates($date1, $date2){
$date1 = strtotime($date1['notif_date_sort']);
$date2 = strtotime($date2['notif_date_sort']);
if ($date1 == $date2) {
return 0;
}
return ($date2 < $date2) ? -1 : 1;
}
usort($array, "compare_dates");
它工作正常6个月,
现在,我去检查并且我看到EXCEL已生成但没有DATA。
我还检查了DATA是否生成了,我没有看到任何问题。
问题在这里:
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="BASIC_Data.xls"');
header('Cache-Control: max-age=0');
echo "<html>";
echo "<body>";
echo "<table class='table table-striped'>";
echo "<tbody>";
echo "<tr><td>$DATA</td></tr>";
echo "</tbody>";
echo "</table>";
echo "</body>";
echo "</html>";
我不知道发生了什么事。突然一切都改变了
请帮助
答案 0 :(得分:0)
简单地说:你没有输出xls(x)数据,而是输出HTML。 Excel可以解释HTML中的表格数据,或至少习惯,但正确的方法是使用像PHPExcel这样的体面库生成真实的Excel文件,而不是欺骗用户认为他们正在下载XLS文件只是一个重命名的HTML文件。我知道,JIRA也这样做,但它仍然是一个糟糕的解决方案。