0

总是在我的浏览器上显示错误消息:

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');
    }
}

请帮我。

4

6 回答 6

5

按照这里的说明 https://github.com/EllisLab/CodeIgniter/wiki/PHPExcel

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

于 2013-10-27T17:10:23.287 回答
0

而在某些 Linux 服务器中,您必须关心大小写。

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

于 2014-05-08T08:03:10.887 回答
0

确保您将 PHPExcel/IOFactory.php 保存在库文件夹中并将其加载为 $this->load->library('PHPExcel/iofactory');

于 2013-10-17T08:34:28.477 回答
0

您可以替换此行

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

通过这条线

IOFactory::createWriter($objPHPexcel, 'Excel5');
于 2014-05-20T19:15:47.903 回答
0

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

于 2015-09-30T14:43:08.893 回答
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

于 2017-12-07T07:15:30.017 回答