1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
public function excel_get(){ $this->check_login(); $file = FCPATH . 'uploads' . DIRECTORY_SEPARATOR . 'Members.xls'; $file_url = base_url() . 'uploads/Members.xls'; // Initiate cache $cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_phpTemp; $cacheSettings = array( 'memoryCacheSize' => '32MB'); PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings); $objPHPExcel = new PHPExcel(); //Create $worksheet object to save data $worksheet = $objPHPExcel->setActiveSheetIndex(0); $rowN = 1; $columnN = 0; $headers = array( 'ID', '姓名', '性別', '生日', '國碼', '電話', '國家', '身份證明', '單位', '居住地', 'Email', '建立時間', '作者介紹', '劇本名', '投稿組別', '劇本大綱', '是否參與其他競賽', '劇本發表', 'PDF', 'Word', '上傳時間' ); foreach($headers as $value){ $worksheet->setCellValueByColumnAndRow($columnN, $rowN, $value); $columnN++; } $members = $this->competition_m->get_items(false); $rowN++; foreach($members as $member){ $data = array( $member->id, $member->name, ($member->gender == 'f') ? '女' : '男', $member->birthday, $member->phone_country_code, $member->phone, $member->country, $member->attachment, $member->company, $member->city, $member->email, $member->created_time, $member->introduction, $member->title, $member->language, $member->summary, ($member->exclusive == 1) ? '是' : '否', ($member->public == 1) ? '是' : '否', $member->pdf, $member->word, $member->upload_time ); $columnN = 0; foreach($data as $value){ $worksheet->setCellValueByColumnAndRow($columnN, $rowN, $value); $columnN++; } $rowN++; } $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save($file); $this->success_response($file_url); } |
常用方法: