Codeigniter 中的错误 PHPExcel


error PHPExcel in Codeigniter

我正在尝试将PHPExcel与CodeIgniter一起使用。

但是我得到了一个错误

致命错误:从 C:''ms4w''Apache''htdocs''plantation''system''core''Loader.php 第 949 行中的上下文"CI_Loader"调用私有 IOFactory::__construct()

我把 PHPExcel 放在我的应用程序/库中

这是我的代码控制器

function excel()
    {
        $this->load->library('phpexcel');
        $this->load->library('PHPExcel/iofactory');
        $objPHPExcel = new PHPExcel();
        $objPHPExcel->getProperties()->setTitle("title")
        ->setDescription("description");
        // Assign cell values
        $objPHPExcel->setActiveSheetIndex(0);
        $objPHPExcel->getActiveSheet()->setCellValue('A1', 'cell value here');
        // Save it as an excel 2003 file
        $objWriter = IOFactory::createWriter($objPHPExcel, 'Excel5');
        $objWriter->save("nameoffile.xls");
    }

与 http://codeigniter.com/wiki/PHPExcel/相同

请解决此案

我使用 Codeigniter 2.0 和 PHP Excel 1.7.7

感谢您的关注

BR

法会

这是设置函数的方法 这也解决了您的无效字符问题,包括正确的标头并执行 ob_end_clean(); 清理任何输出缓冲。不过,在你做 save() 之前就这样做。

 public function howToPhpExcel()
{
    $response = $this->_response;
    $this->_helper->layout->disableLayout();
    $this->_helper->viewRenderer->setNoRender();
    $excel = new PHPExcel();
    $excel->setActiveSheetIndex(0);
    $worksheet = $excel->getActiveSheet();
    $worksheet->getCell('A1')->setValue('tet');
    $worksheet->getCell('B1')->setValue('tet');
    ob_end_clean();
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Cache-Control: post-check=0, pre-check=0", false);
    header("Pragma: no-cache");
    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    header('Content-Disposition: attachment;filename="Report.xlsx"');
    $objWriter = PHPExcel_IOFactory::createWriter($excel, 'Excel2007');
    ob_end_clean();
    $objWriter->save('php://output');
    $excel->disconnectWorksheets();
    unset($excel);
}