始终在我的浏览器上显示错误消息:
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');
}
}
请帮帮我。
答案 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