PHP导出到Excel文件给我列中的源代码

时间:2010-10-01 02:05:10

标签: php export-to-excel

我觉得我犯了一个简单的错误,但我似乎无法弄清楚是什么。

我有一些代码用于将mySQL表导出到Excel文件。

但是,当我执行导出时,整个HTML源代码将与我的数据一起导出。我打开Excel中的文件和我的表格数据,但它里面还有所有的HTML。

可能导致所有源代码与数据一起导出的原因是什么?

我应该提一下,我正在使用此代码作为我正在编写的Wordpress插件的一部分。当我测试wordpress外的导出时,它工作正常。但是当我尝试从Wordpress管理页面导出时,我获得了所有额外的HTML源代码。

1 个答案:

答案 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'); 

谢谢,

汉字