後台往往需要匯出各種資料到 excel文件中。通常我們是匯出 .csv檔案格式,php匯出函式參考**如下:
/**
* 匯出資料到csv檔案
* * @param array $data 二維陣列(模擬資料表記錄)
* @param array $titlelist 標題陣列列表
* @param string $filename csv檔名
*/function csv_export(&$data, $titlelist = array(), $filename = '')
$csvdata .= '"' . $titlelist[$nums - 1] . "\"\r\n";
foreach ($data as $key => $row)
elseif ($i == ($nums - 1))
$i++;
} unset($data[$key]);
} $csvdata = mb_convert_encoding($csvdata, "cp936", "utf-8");
$filename = empty($filename) ? date('y-m-d-h-i-s', time()) : $filename;
$filename = $filename . '.csv';
header("content-type:text/csv;");
header("content-disposition:attachment;filename=" . $filename);
header('cache-control:must-revalidate,post-check=0,pre-check=0');
header('expires:0');
header('pragma:public');
echo $csvdata;
die();
}
使用示例:
$data = array(
array(
'name' => 'jake',
'score' => 80,
'grade' => 'a'
), array(
'name' => 'jin',
'score' => 70,
'grade' => 'a'
), array(
'name' => 'john',
'score' => 80,
'grade' => 'a'
), array(
'name' => 'ben3',
'score' => 203,
'grade' => 'b3'
));$titlelist = array('姓名', '總分', '等級');
$filename = '高三(3)班 7 月份考試結果';
csv_export($data, $titlelist, $filename);
php 匯出大資料到csv檔案
set time limit 0 ini set memory limit 256m db this load database default true sql select from t mobile number section condition query db query sql res...
php匯出百萬資料到csv
set time limit 0 設定超時 ini set memory limit 100m 設定最大使用的記憶體 header content type text csv header content disposition attachment filename date ymd csv he...
PHP匯出CSV檔案
經常會碰到需要從資料庫中匯出資料到excel檔案,用一些開源的類庫,比如phpexcel,確實比較容易實現,但對大量資料的支援很不好,很容易到達php記憶體使用上限。這裡的方法是利用fputcsv寫csv檔案的方法,直接向瀏覽器輸出excel檔案。輸出excel檔案頭,可把user.csv換成你要的...