如何使用CodeIgniter从HTML表格创建Excel电子表格


How to create Excel spreadsheet from HTML Table using CodeIgniter

我已经在视图表,现在我想报告它到Excel (PHPExcel)使用CodeIgniter,我试图找到一个简单的报告系统,这是我的脚本控制器到目前为止:

  function excel(){
    $data['bf']=$this->report->branch();

    $tahun = $this->input->post('tahun');
    $branch= $this->input->post('branch');
    /*$data['data'] = $this->report->getdata($tahun);
    $data['data2'] = $this->report->getdata($tahun);
     // $data['bfb'] = $this->report->getdata($tahun,$branch); */
    $data['show'] = $this->report->show();
    $data['bal'] = $this->report->getbal($tahun);
    $data['bdg'] = $this->report->getbdg($tahun);
      $data['bgr'] = $this->report->getbgr($tahun);
      $data['bjm'] = $this->report->getbjm($tahun);
      $data['bkp'] = $this->report->getbkp($tahun);
      $data['bks'] = $this->report->getbks($tahun);
      $data['bnk'] = $this->report->getbnk($tahun);
      $data['crb'] = $this->report->getcrb($tahun);
      $data['jkt'] = $this->report->getjkt($tahun);
      $data['jktm'] = $this->report->getjktm($tahun);
      $data['jmb'] = $this->report->getjmb($tahun);
      $data['knd'] = $this->report->getknd($tahun);
      $data['lpg'] = $this->report->getlpg($tahun);
      $data['mad'] = $this->report->getmad($tahun);
       $data['mdn'] = $this->report->getmdn($tahun);
      $data['mks'] = $this->report->getmks($tahun);
      $data['mlg'] = $this->report->getmlg($tahun);
        $data['pkb'] = $this->report->getpkb($tahun);
      $data['plb'] = $this->report->getplb($tahun);
      $data['pnt'] = $this->report->getpnt($tahun);

  $html = $this->load->view('report/report', $data, true);

$tmpfile = time().'.html';
file_put_contents($tmpfile, $html);

$reader = new PHPExcel_Reader_HTML; 
$content = $reader->load($tmpfile); 
// Pass to writer and output as needed
$objWriter = PHPExcel_IOFactory::createWriter($content, 'Excel5');
$objWriter->save('excelfile.xls');

unlink($tmpfile);
    }

当我使用那个脚本时,我无法下载,请纠正我的脚本,谢谢

看看我的演示项目,我在Codeigniter中做了excel导出https://github.com/eboominathan/Basic-CRUD-in-Codeigniter

像这样??

function excel(){
   $CI->load->library('Excel'); 
    $data['bf']=$this->report->branch();

    $tahun = $this->input->post('tahun');
    $branch= $this->input->post('branch');
    /*$data['data'] = $this->report->getdata($tahun);
    $data['data2'] = $this->report->getdata($tahun);
     // $data['bfb'] = $this->report->getdata($tahun,$branch); */
    $data['show'] = $this->report->show();
    $data['bal'] = $this->report->getbal($tahun);
    $data['bdg'] = $this->report->getbdg($tahun);
      $data['bgr'] = $this->report->getbgr($tahun);
      $data['bjm'] = $this->report->getbjm($tahun);
      $data['bkp'] = $this->report->getbkp($tahun);
      $data['bks'] = $this->report->getbks($tahun);
      $data['bnk'] = $this->report->getbnk($tahun);
      $data['crb'] = $this->report->getcrb($tahun);
      $data['jkt'] = $this->report->getjkt($tahun);
      $data['jktm'] = $this->report->getjktm($tahun);
      $data['jmb'] = $this->report->getjmb($tahun);
      $data['knd'] = $this->report->getknd($tahun);
      $data['lpg'] = $this->report->getlpg($tahun);
      $data['mad'] = $this->report->getmad($tahun);
       $data['mdn'] = $this->report->getmdn($tahun);
      $data['mks'] = $this->report->getmks($tahun);
      $data['mlg'] = $this->report->getmlg($tahun);
        $data['pkb'] = $this->report->getpkb($tahun);
      $data['plb'] = $this->report->getplb($tahun);
      $data['pnt'] = $this->report->getpnt($tahun);

  $html = $this->load->view('report/report', $data, true);
  $filename = 'Report Data Actual vs Target Branch '.date('Y-m-d').'.xls';                        //save our workbook as this file name
   header('Content-Type: application/vnd.ms-excel'); //mime type
   header('Content-Disposition: attachment;filename="' . $filename . '"'); //tell browser what's the file name
   header('Cache-Control: max-age=0'); //no cache
   //save it to Excel5 format (excel 2003 .XLS file), change this to 'Excel2007' (and adjust the filename extension, also the header mime type)
   //if you want to save it as .XLSX Excel 2007 format
   $objWriter = PHPExcel_IOFactory::createWriter($CI->excel, 'Excel5');
   //force user to download the Excel file without writing it to server's HD
   $objWriter->save('php://output');