2013-09-25 3 views
1

У меня есть отчеты, просмотренные на странице. Я хочу сделать функцию, когда отчеты будут просматриваться/загружаться как файл excel при нажатии кнопки экспорта. Я пробовал это: Reports in Codeigniter, но мне не повезло. Может ли кто-нибудь помочь мне в этом? Благодаря!Экспорт отчетов в EXCEL FILE Codeigniter

Мой контроллер:

public function export_reports(){ 
    $this->load->dbutil(); 
    $this->load->helper('file'); 
    $filter = $this->input->post('filter'); 
    $year_date = $this->input->post('year_val'); 
     $today = $this->input->post('today'); 
     $month_start = $this->input->post('month_start'); 
     $month_end = $this->input->post('month_end'); 
     $last_month_start = $this->input->post('last_month_start'); 
     $last_month_end = $this->input->post('last_month_end'); 
     $this_year_start = $this->input->post('this_year_start'); 

    if($filter == "this_month"){ 

     $report = $this->getdata_model->get_reports($filter, $year_date, $today, $month_start, $month_end, $last_month_start, $last_month_end, $this_year_start); 
     $new_report = $this->dbutil->xml_from_result($report); 
     write_file('billing_report_this_month.xml',$new_report); 

    }else{ 

     $report = $this->getdata_model->default_report($month_start, $month_end); 
     $new_report = $this->dbutil->xml_from_result($report); 
     write_file('monthly_billing_report.xml',$new_report); 
    } 

} 

Моя модель:

}

public function get_reports($filter, $year_date, $today, $month_start, $month_end, $last_month_start, $last_month_end, $this_year_start){ 

     if($filter==""){ 
       return $this->db->select("b.*, CONCAT(c.first_name,' ',c.last_name) as fullname", FALSE) 
       ->order_by('fullname') 
       ->from('billing as b') 
       ->where('billing_date >=', $month_start) 
       ->where('billing_date <=', $month_end) 
       ->join('clients as c', 'b.customer_uuid=c.uuid') 
       ->get() 
       ->result();   
     }elseif($filter == "this_month"){ 
       return $this->db->select("b.*, CONCAT(c.first_name,' ',c.last_name) as fullname", FALSE) 
       ->order_by('fullname') 
       ->from('billing as b') 
       ->where('billing_date >=', $month_start) 
       ->where('billing_date <=', $month_end) 
       ->join('clients as c', 'b.customer_uuid=c.uuid') 
       ->get() 
       ->result(); 
     }elseif($filter == "last_month"){ 
       return $this->db->select("b.*, CONCAT(c.first_name,' ',c.last_name) as fullname", FALSE) 
       ->order_by('fullname') 
       ->from('billing as b') 
       ->where('billing_date >=', $last_month_start) 
       ->where('billing_date <=', $last_month_end) 
       ->join('clients as c', 'b.customer_uuid=c.uuid') 
       ->get() 
       ->result();   
     }elseif($filter == "monthly" || $filter == "annual"){ 
       return $this->db->select("b.*, CONCAT(c.first_name,' ',c.last_name) as fullname", FALSE) 
       ->order_by('fullname') 
       ->from('billing as b') 
       ->where('billing_year', $year_date) 
       ->join('clients as c', 'b.customer_uuid=c.uuid') 
       ->get() 
       ->result();     
     }elseif($filter == "ytd"){ 
       return $this->db->select("b.*, CONCAT(c.first_name,' ',c.last_name) as fullname", FALSE) 
       ->order_by('fullname') 
       ->from('billing as b') 
       ->where('billing_date >=', $this_year_start) 
       ->where('billing_date <=', $today) 
       ->join('clients as c', 'b.customer_uuid=c.uuid') 
       ->get() 
       ->result();   
     } 

}

+0

Где мой код? – ahmad

+0

@ahmad: Посмотрите мой код выше. –

+0

Где находится модель? – ahmad

ответ

Смежные вопросы