最近项目中要用到一些处理表格导入导出的需求,选择了phpexcel。
在非框架模式下,测试phpexcel的调用及其正常功能,然后想把这些类库放到TP3.2中去,因为命名空间的原因,放在跟鼓励,然后直接include 或者 require_once ,实例化的时候还是会提示你类未找到的错误。
那么该怎么办呢?
首先整理你的类库文件夹,然后放到tp目录下的vender/下,我用的是OT二开的,我的目录在ThinkPHP\Library\Vendor\下,自己先找对这个目录,把文件夹放进去。
我的最终目录是这样的:\ThinkPHP\Library\Vendor\PHPExcelUnit
PHPExcelUnit为我整理过的phpexcel类库包。
下边就该说说如何调用了:
在控制器中,需要实例化PHPExcel类,类似这样的做法是不行的:
$PHPExcel = new PHPExcel();
$PHPReader = new PHPExcel_Reader_Excel2007();
一定要这样调用,在类名前面加上反斜杠
vendor('PHPExcelUnit.PHPExcel'); //引入类库
$PHPExcel = new \PHPExcel();
$PHPReader = new \PHPExcel_Reader_Excel2007();
这样就可以啦。
如果需要调用类的静态方法。比如说:
PHPExcel_cell::columnIndexFromString('A') ;
还是会提示错误,在类前面加上\还是不行,无奈只能把静态方法扒拉一份,整理到自己的控制器或者模型中,然后再通过自身的方法来调用,例如:
self::columnIndexFromString('A') ;
self::columnIndexFromString('BW');
共同学习,写下你的评论
评论加载中...
作者其他优质文章