如何集成codeigniter和PHPExcel?

时间:2013-06-27 02:04:34

标签: codeigniter phpexcel integrated

始终在我的浏览器上显示错误消息:

An Error Was Encountered
Non-existent class: IOFactory

所有类PHPExcel,我在库中提取。

这是我的控制器代码

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Report extends CI_Controller 
{
     public function __construct()
    {
        parent::__construct();
        $this->load->helper(array('form','url'));
    }

    public function index()
    {   

        $this->load->library('phpexcel');
        $this->load->library('PHPExcel/IOFactory.php');
        $objPHPexcel = PHPExcel_IOFactory::load('tandaterima.xlsx');
        $objWorksheet = $objPHPexcel->getActiveSheet();
        //Daftar barang (4item)
        $objWorksheet->getCell('B16')->setValue('UTP');
        $objWorksheet->getCell('B17')->setValue('Cross');
        $objWorksheet->getCell('B18')->setValue('');
        $objWorksheet->getCell('B19')->setValue('');
        $objWriter = PHPExcel_IOFactory::createWriter($objPHPexcel, 'Excel5');
        $objWriter->save('write5.xls');
    }
}

请帮帮我。

6 个答案:

答案 0 :(得分:5)

按照此处的说明操作 https://github.com/EllisLab/CodeIgniter/wiki/PHPExcel

请记住删除IOFactory.php中类名中的PHPExcel_部分。并将构造函数从私有更改为公共

答案 1 :(得分:0)

确保你将PHPExcel / IOFactory.php保存在libraries文件夹中并加载为$ this-&gt; load-&gt; library('PHPExcel / iofactory');

答案 2 :(得分:0)

在某些Linux服务器中,您必须关心案例。

$this->load->library('PHPExcel'); $this->load->library('PHPExcel/IOFactory');

答案 3 :(得分:0)

您可以替换此行

$objWriter = PHPExcel_IOFactory::createWriter($objPHPexcel, 'Excel5');

通过这一行

IOFactory::createWriter($objPHPexcel, 'Excel5');

答案 4 :(得分:0)

首先,您需要将PHPExcel文件夹放在thirdparty文件夹中。然后在库文件夹中创建类文件。在那里,您需要包含thirdparty/PHPExcel文件夹并扩展该类。之后,您可以在控制器中使用它。

答案 5 :(得分:0)

Codeiginiter 3支持Composer使用PHPExcel:

application/config/config.php中,将$config['composer_autoload']设为TRUE

然后您可以使用Composer在Codeiginiter中安装PHPExcel:

composer require phpoffice/phpexcel

此外,您可以尝试PHPExcel Helper以更轻松地处理PHPExcel:

composer require yidas/phpexcel-helper
  

https://github.com/yidas/phpexcel-helper