我正在使用PHP和MySQL将数据提取到HTML表。数据应该在Excel文件中下载HTML。使用以下代码:如何导出带有数字格式的100K记录的HTML表格,无需内存排气
$filename = "individual_list_" . date('Ymdhms') . ".xls";
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=\"$filename\"");
$html='
$rowCount=1;
foreach ($export_data as $key => $row) {
if(!$header)
{
$header_field=array_keys($row);
$html .='';
foreach ($header_field as $k => $value) {
$html .='
'.$value.'';}
$html .='
';$header=true;
}
$values=array_values($row);
$rowCount++;
$html .='
';foreach ($values as $k => $value) {
if (DateTime::createFromFormat('Y-m-d G:i:s', $value) !== FALSE) {
$value = date('Y-m-d', strtotime($value));
}
$html .='
'.$value.'';}
$html .='
';}
$html .='
';echo $html;
有大约90K条记录要导出。此代码曾经产生Allowed Memory Exhausted错误,所以我改变了内存限制。现在错误已解决,但数据显示为HTML Table而不是下载。该代码适用于较少的记录集。如何解决这个问题? 导出(下载)在下载Excel文件的弹出窗口中完成。完成下载后如何关闭弹出窗口?
2015-10-16
Sujit
+0
“数据应该在Excel文件中下载HTML”。 ?? –
+0
我的意思是说表中显示的数据应该使用PHP –
+0
中的标题下载我已将此答案粘贴到我的帖子中http://stackoverflow.com/questions/36325128/php-mysql-load-around-100k-记录并将其导出到xml/36352017#36352017 –