php导出HTML TABLE到EXCEL

时间:2016-08-15 13:18:37

标签: php html excel

我将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>";

我不知道发生了什么事。突然一切都改变了

请帮助

1 个答案:

答案 0 :(得分:0)

简单地说:你没有输出xls(x)数据,而是输出HTML。 Excel可以解释HTML中的表格数据,或至少习惯,但正确的方法是使用像PHPExcel这样的体面库生成真实的Excel文件,而不是欺骗用户认为他们正在下载XLS文件只是一个重命名的HTML文件。我知道,JIRA也这样做,但它仍然是一个糟糕的解决方案。