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

时间:2015-12-23 14:35:36

标签: php excel

我的数据库:

My database

由于"说明"中的逗号,我将数据导出到Excel时遇到问题我的数据库中的字段。

这是我的代码:

<?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后的数据:

Data after export to excel.

2 个答案:

答案 0 :(得分:5)

问题是你在不必要地实施某些事情,并且必须在你已经解决之前解决所有其他繁琐的问题。

有一个名为fputcsv()的精彩内置函数可以处理分隔符和附件,以便很好地转义内容字段。

以下是php文档页面的链接:http://php.net/manual/en/function.fputcsv.php

  • 了解它
  • 爱它
  • 直播

答案 1 :(得分:0)

如果您需要超过上述简单阅读的内容,请查看PHPExcel