用逗号问题将数据从PHP导出到Excel

我的数据库:

我的数据库

由于数据库中“description”字段中的逗号,导致我的数据导致出现问题。

这是我的代码:

<?php include 'database.php'; if (isset($_POST['submit'])){ $filename = 'uploads/'.strtotime("now").'.csv'; $fp = fopen($filename, "w"); $sql = "SELECT * FROM data"; $linkSql = mysqli_query($link,$sql) or die(mysqli_error($link)); $row = mysqli_fetch_assoc($linkSql); $seperator =""; $comma = ""; foreach ($row as $name => $value) { $seperator .= $comma . '' .str_replace('','""',$name); $comma = ","; } $seperator .="\n"; fputs($fp, $seperator); mysqli_data_seek($linkSql, 0); while($row = mysqli_fetch_assoc($linkSql)){ $seperator =""; $comma = ""; foreach ($row as $name => $value) { $seperator .= $comma . '' .str_replace('','""',$value); $comma = ","; } $seperator .="\n"; fputs($fp, $seperator); } fclose($fp); } ?> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <form method="post" action="export.php"> <input type="submit" name="submit" value="export"> </form> </body> </html> 

以下是我输出为excel后的数据:

数据导出为ex​​cel后。

问题在于你正在执行一些不必要的事情,并且必须在你已经解决之前解决所有其他乏味的问题。

有一个很好的内置函数fputcsv()来处理分隔符和shell,以便很好地避免你的内容字段。

这里是PHP文档页面的链接: http : //php.net/manual/en/function.fputcsv.php

  • 学习它
  • 爱它
  • 活着吧

如果你需要任何超过上面的简单阅读,那么也许看看PHPExcel