导出MySQL数据到Excel

我一直在寻找方法将我的数据导出到Excel电子表格。 我已经尝试了大量的例子,并没有成功。 这是我目前的代码,返回“查询失败!”。 当更改“ORDER BY”时,电子表格会返回数据,但在下面会循环显示错误。 这是我发现和正在使用的代码:

$con = mysql_connect($hostname,$username,$password,$db_name) or die('Could not connect: ' . mysql_error()); function cleanData(&$str) { $str = preg_replace("/\t/", "\\t", $str); $str = preg_replace("/\r?\n/", "\\n", $str); if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"'; } $filename = "website_data_" . date('Ymd') . ".xls"; header("Content-Disposition: attachment; filename=\"$filename\""); header("Content-type: application/vnd.ms-excel; charset=UTF-16LE"); $flag = false; $result = mysql_query("SELECT * FROM test ORDER BY field") or die('Query failed!'); while(false !== ($row = mysql_fetch_assoc($result))) { if(!$flag) { echo implode("\t", array_keys($row)) . "\r\n"; $flag = true; } array_walk($row, 'cleanData'); echo implode("\t", array_values($row)) . "\r\n"; } 

谁能告诉我为什么会发生这种情况? (同样的事情也发生在使用mysqli函数)