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
实例。
每天我 运行 一个 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
实例。