我试图实现Converting single sheet in an XLS file to CSV with PHPExcel - Memory exhausted,但却陷入了PHP Excel加载过程。
我下载了包(http://phpexcel.codeplex.com/),然后按照安装说明将“Classes”文件夹复制到三个目录中:
1)C:\ xampp \ htdocs \ mycode - 只是我当前的工作目录
2)C:\ xampp \ php \ pear - bcs我得到的echo get_include_path();
和
3)C:\ xampp \ php \ pear \ PEAR - 你知道,以防万一...
我跑的时候还是:
include 'PHPExcel.php';
include 'PHPExcel/IOFactory.php';
我收到以下错误消息:
事先提前......警告:include(PHPExcel.php):无法打开流:第5行的C:\ xampp \ htdocs \ mycode \ paths.php中没有此类文件或目录
警告:include():在第5行的C:\ xampp \ htdocs \ mycode \ paths.php中打开'PHPExcel.php'以包含(include_path ='。; C:\ xampp \ php \ PEAR')失败
警告:include(PHPExcel / IOFactory.php):无法打开流:第6行的C:\ xampp \ htdocs \ mycode \ paths.php中没有此类文件或目录
警告:include():在C:\ xampp \ htdocs \ mycode \ paths.php中打开'PHPExcel / IOFactory.php'以包含(include_path ='。; C:\ xampp \ php \ PEAR')失败第6行
答案 0 :(得分:5)
...将文件夹'Classes'复制到三个目录
似乎提示就在那里。不应该是
require_once 'Classes/PHPExcel.php';
或者,将Classes
文件夹添加到包含路径...
set_include_path(implode(PATH_SEPARATOR, [
realpath(__DIR__ . '/Classes'), // assuming Classes is in the same directory as this script
get_include_path()
]));
require_once 'PHPExcel.php';
答案 1 :(得分:1)
在我的情况下,我的juste必须替换我的
include "../classes/Projects.php";
由此:
require_once "./classes/Projects.php";
答案 2 :(得分:0)
通常,当您包含文件时,它将相对于您正在调用include
的文件。确保您正在查找正确的目录。我这样说是因为你包含文件的方式好像PHPExcel文件应该在完全相同的目录中,但看起来你把它放在一个名为classes
的文件夹中。
例如,如果您的目录结构如下所示:
C:\
- xampp\
- htdocs\
- mycode\
- classes\ (where you extracted your files to...)
- (more files and subdirectories in here)
- index.php (where you are including file into...)
然后您将包括index.php
所在的位置。因此,如果PHPExcel位于classes
文件夹中,那么您的include
语句应如下所示:
include classes/PHPExcel.php
或include classes/PHPExcel/IOFactory.php
答案 3 :(得分:0)
这个模块最初对我有用。但是后来我添加了 Yii2 并花了很长时间寻找解决问题的方法。对于那些找到这个话题的人,就像我所做的那样,并将 Yii2 添加到 Yii1 中,我会留下这个解决方案。
对我来说首先帮助了这个。
spl_autoload_unregister(['YiiBase', 'autoload']);
require_once Yii::app()->params['rootPath'] . '/PHPExcel/Classes/PHPExcel.php';
spl_autoload_register(['YiiBase', 'autoload']);
当我添加 Yii2 时我改变了
spl_autoload_unregister(['Yii', 'autoload']);
spl_autoload_unregister(['YiiBase', 'autoload']);
require_once Yii::app()->params['rootPath'] . '/PHPExcel/Classes/PHPExcel.php';
spl_autoload_register(['YiiBase', 'autoload']);
spl_autoload_register(['Yii', 'autoload']);
下次使用
$objPHPExcel = new \PHPExcel();
...
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');