这是我使用的一些代码...您可以调整导出中所需的列...
注意:此 CSV 直接发送到php://output
直接写入输出缓冲区的内容。这意味着您不会在服务器上保存任何 .csv 文件,它可以处理更大的文件大小,构建一个巨大的数组然后尝试循环遍历它。
header("Content-type: application/csv");
header("Content-Disposition: attachment; filename=\"Jobs_".date('M.j.y', $from)."-".date('M.j.y', $to).".csv\"");
header("Pragma: no-cache");
header("Expires: 0");
$handle = fopen('php://output', 'w');
fputcsv($handle, array(
'JobId',
'Template',
'Customer',
'Status',
'Error',
'PDF',
'Run Time',
'Wait Time',
'Server'
));
foreach ($jobs as $jobData) {
fputcsv($handle, array(
$job->getId(),
$job->getTemplate(),
$jobData['customers_firstname'].' '.$jobData['customers_lastname'],
$status,
$error,
$jobData['products_pdfupload'],
$job->getRunTime(),
$job->getWaitTime(),
$jobData['server']
));
}
fclose($handle);
exit;
这应该可以让您很好地了解 CSV 导出的工作原理。我不使用 CodeIgniter 的文件下载助手,所以在这方面我无法为您提供帮助。