下面是一些代碼我使用...你可以調整你的出口需要的列...
注:此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的文件下載助手,所以我無法幫助你。
剛纔救了我的屁股,謝謝! – Mike
很高興看到Mike! –