CSV檔案類似於excel檔案,用逗號表示分隔字元,分行符號代表該行結束 存取方法
public function export_csv() { $csvModel = M('select_question'); $csvData = $csvModel->field('question,answer_A,answer_B,answer_C,answer_D,true_answer')->select(); $str = "題目,答案A,答案B,答案C,答案D,正確答案\n"; $str = iconv('utf-8', 'gb2312', $str); foreach ($csvData as $item) { $question = iconv('utf-8', 'gb2312', $item['question']); $a = iconv('utf-8', 'gb2312', $item['answer_a']); $b = iconv('utf-8', 'gb2312', $item['answer_b']); $c = iconv('utf-8', 'gb2312', $item['answer_c']); $d = iconv('utf-8', 'gb2312', $item['answer_d']); $t = iconv('utf-8', 'gb2312', $item['true_answer']); $str .= $question . "," . $a . "," . $b . "," . $c . "," . $d . "," . $t . "\n"; } $filename = '選擇題.csv'; $this->export_filename($filename, $str); }
要求標頭匯出方法
public function export_filename($filename,$data) { 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 $data; }