Как интегрировать codeigniter и PHPExcel?

Всегда отображать сообщение об ошибке в моем браузере:

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 ответов

Следуйте инструкциям здесь https://github.com/EllisLab/CodeIgniter/wiki/PHPExcel

Пожалуйста, не забудьте удалить часть PHPExcel_ в имени класса в IOFactory.php. И изменить функцию построения с частного на публичный

Сначала вам нужно разместить папку PHPExcel внутри thirdparty папка. Затем создайте файл класса в папке библиотеки. Там нужно включить thirdparty/PHPExcel папку с файлами и расширить класс. После этого вы можете использовать его в своем контроллере.

Убедитесь, что вы сохранили PHPExcel/IOFactory.php в папке с библиотеками и загрузили его как $this->load->library('PHPExcel/iofactory');

Вы можете заменить эту строку

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

по этой линии

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

А на некоторых Linux-серверах вы должны заботиться о деле.

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

Codeiginiter 3 поддерживает Composer для использования PHPExcel:

В application/config/config.php, задавать $config['composer_autoload'] в TRUE,

Затем вы можете использовать Composer для установки PHPExcel в Codeiginiter:

composer require phpoffice/phpexcel

Кроме того, вы можете попробовать PHPExcel Helper для облегчения работы с PHPExcel:

composer require yidas/phpexcel-helper

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

Другие вопросы по тегам