我觉得我犯了一个简单的错误,但我似乎无法弄清楚是什么。
我有一些代码用于将mySQL表导出到Excel文件。
但是,当我执行导出时,整个HTML源代码将与我的数据一起导出。我打开Excel中的文件和我的表格数据,但它里面还有所有的HTML。
可能导致所有源代码与数据一起导出的原因是什么?
我应该提一下,我正在使用此代码作为我正在编写的Wordpress插件的一部分。当我测试wordpress外的导出时,它工作正常。但是当我尝试从Wordpress管理页面导出时,我获得了所有额外的HTML源代码。
答案 0 :(得分:1)
试试这段代码。
$host = 'localhost';
$user = 'mysqlUser';
$pass = 'myUserPass';
$db = 'myDatabase';
$table = 'products_info';
$file = 'export';
$link = mysql_connect($host, $user, $pass) or die("Can not connect." . mysql_error());
mysql_select_db($db) or die("Can not connect.");
$res = mysql_query("SELECT * FROM $table");
// fetch a row and write the column names out to the file
$row = mysql_fetch_assoc($res);
$line = "";
$comma = "";
foreach($row as $name => $value) {
$line .= $comma . '"' . str_replace('"', '""', $name) . '"';
$comma = ",";
}
$line .= "\n";
fputs($fp, $line);
// remove the result pointer back to the start
mysql_data_seek($res, 0);
// and loop through the actual data
while($row = mysql_fetch_assoc($res)) {
$line = "";
$comma = "";
foreach($row as $value) {
$line .= $comma . '"' . str_replace('"', '""', $value) . '"';
$comma = ",";
}
$line .= "\n";
fputs($fp, $line);
}
fclose($fp);
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename="export.csv"');
readfile('export.csv');
谢谢,
汉字