Как интегрировать 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