PHP到CSV导出与逗号分隔符在单独的单元格

我在这里find了这个代码,我应该用它来做我的网站。 但是,虽然一切似乎很好,不知何故分隔符不起作用。 正如你所看到的,我把逗号(,)作为分隔符,而在mysql中有(|)我把它改为逗号再单独在单元格中。

但是,我得到了一切都在第一个细胞的结果。 有逗号,但没有分割。 所以,如果我点击Excel数据>分隔符和逗号分割 – 那么它是好的。

如何解决这个问题? 我是新的,所以在这里有一个简单的具体变化?

$link = mysql_connect($host, $user, $pass) or die("Can not connect." . mysql_error()); mysql_select_db($db) or die("Can not connect."); $result = mysql_query("SHOW COLUMNS FROM ".$table.""); $columnName = array(); if (mysql_num_rows($result) > 0) { while ($row = mysql_fetch_assoc($result)) { $columnName[] = $row['Field']; $i++; } } $columnName[] .= "\n"; $needle = "|"; $values = mysql_query("SELECT * FROM ".$table." where id=".$id.""); while ($rowr = mysql_fetch_row($values)) { for ($j=0;$j<$i;$j++) { $colName = $columnName[$j]; $count = strlen($rowr[$j]) - strlen(str_replace(str_split($needle), "", $rowr[$j])); if ($count > 1) { for($p=0;$p<$count;$p++) { $colName .= ","; } $columnName[$j] = $colName; $csv_output_column_names .= $columnName[$j].", "; $csv_output_column_values .= str_replace("|",",",$rowr[$j]).", "; } else { $csv_output_column_names .= $columnName[$j]. ", "; $csv_output_column_values .= $rowr[$j] .", "; } } $csv_output_column_values .= "\n"; } $csv_output = $csv_output_column_names."\n".$csv_output_column_values; $filename = $file."_".date("Ymd"); header("Content-type: application/vnd.ms-excel"); header("Content-disposition: csv" . date("Ymd") . ".csv"); header("Content-disposition: filename=".$filename.".csv"); print $csv_output; exit; ?>