PHP 在多张工作表中将数据导出到 CSV

PHP exporting data to CSV in multiple sheets

每天我 运行 一个 cron,它在其中找到尚未 pulled/exported 的数据(通过包含布尔值的列 "exported"),这工作正常。但是,现在我想为每个结果做一个循环,并将它们粘贴到按日期时间分组的自己的工作表中导出的 CSV 文件中。

我的新 CSV 应该如下所示:

Sheet 1 (12-04-2015)   Sheet 2 (13-04-2015)   Sheet 3 (14-04-2015)

并在这些工作表中显示为当天设置了日期时间列的分组数据。

我当前的 CSV 导出代码:

    $file = date('YmdHis');

    $fp = fopen('/var/www/exports/'.$file.'.csv', 'w');

    $count = 0;

    while ($row = @mysql_fetch_array($query)) 
    {
        $data[] = array($row['email'],$row['first_name'], $row['last_name'], $row['datetime']);

        if( strlen($cleared)>0 ) $cleared .= ",".$row['id'];
        else $cleared = $row['id'];

        $count++;

    }

    foreach ($data as $d) {
        fputcsv($fp, $d);
    }

    fclose($fp);

我可以使用 fputcsv 执行此操作吗?我该怎么做,或者我是否必须改用 $objPHPExcel = new PHPExcel();(我知道该怎么做)?

CSV 不支持工作表,因此您需要使用更强大的功能,例如 PHPExcel。可以使用 $php_excel->createSheet(); 方法创建新工作表。您将获得一个可以填充的 PHPExcel_Worksheet 实例。