2013-09-25 134 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

回答