CI 框架 调用PHPExcel linux 无效问题

来源:互联网 发布:大逆之门txt知白下载 编辑:程序博客网 时间:2024/05/18 04:44

最近商品部需要导入大量的数据,问我能不能弄个导入excel 的。我看了看,CI框架可以使用PHPExcel 类库进行导入。

  $this->load->library("PHPExcel");//ci框架中引入excel类            $PHPReader = null;            if ($extension == 'xls') {                $PHPReader = new PHPExcel_Reader_Excel5();                if (!$PHPReader->canRead($uploadfile)) {                    die('{"status":-1,"msg":"Excel 不规范。无法解析!"}');                    return;                }            } elseif ($extension == 'xlsx') {                $PHPReader = new PHPExcel_Reader_Excel2007();                if (!$PHPReader->canRead($uploadfile)) {                    die('{"status":-1,"msg":"Excel 不规范。无法解析!"}');                    return;                }            }            if (!isset($PHPReader)) {                die('{"status":-1,"msg":"不是一个excel,无法解析!"}');            };            // 加载excel文件            $PHPExcel = $PHPReader->load($uploadfile);            // 读取excel文件中的第一个工作表            $currentSheet = $PHPExcel->getSheet(0);            // 取得最大的列号            $allColumn = $currentSheet->getHighestColumn();            // 取得一共有多少行            $allRow = $currentSheet->getHighestRow();

在windows 下 phpstudy 集成php 环境里面没有任何问题。

但是部署到正式环境:centos linux 下面,死活不行,提示无法加载phpexcel 类。

找了很多文章,都没有得解决。

如:

1.修改 PHPExcel.php 的文件名。没有效果

2.改用单个文件引用

 include (APPPATH.'librarys/PHPExcel/PHPExcel.php'); include (APPPATH.'librarys/PHPExcel/PHPExcel/IOFactory.php'); include (APPPATH.'librarys/PHPExcel/PHPExcel/Reader/Excel2007.php'); include (APPPATH.'librarys/PHPExcel/PHPExcel/Reader/Excel5.php');
文件是加载上来了,但是$PHPReader = new PHPExcel_Reader_Excel2007(); 无法进行实例化。

3.修改内核:\system\core\Loader.php 里面的$filepath = $path.'libraries/'.$subdir.$class.'.php'; 改为:$filepath = $path.'libraries/'.ucfirst($subdir).$class.'.php';(该方法也是网找的)

以上方法都不行。

最后,还是看回

http://stackoverflow.com/questions/15028175/phpexcel-error-in-codeigniter-unable-to-load-the-requested-class-iofactory

这篇文章,在michail1982的回复里面 

//afrer this you can use any of PHPExcel classes and methods$this->load->file(APPPATH.'libraries/PHPExcel.php'); //full path to $objReader = new PHPExcel_Reader_Excel2007();//change by filetypetry {    $objPHPExcel = $objReader->load($inputFileName); //you file name} catch (Exception $e) {    show_error($e->getMessage());}


$this->load->file(APPPATH.'libraries/PHPExcel.php');//full path to

就是这句话。通过load file 终于把类库加载进来了。无论是windows还是linux 都OK了。



1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 1月婴儿大便干燥怎么办 椰子鞋350线开了怎么办 打完篮球小腿肌肉酸痛怎么办 衣服穿少了感冒怎么办 侧手翻翻不过去怎么办 生完孩子胯宽了怎么办 小孩户口性质弄错了怎么办 4岁宝宝咳嗽很厉害怎么办 宝宝深夜咳嗽很厉害怎么办 2岁宝宝发热37.6怎么办 篮球气嘴慢跑气怎么办 4个月宝宝偏胖怎么办 4个月婴儿偏胖怎么办 6岁儿童偏胖怎么办 打篮球撞到头颈椎痛怎么办 血燥热引起的皮肤瘙痒怎么办 坐时间久了屁股疼怎么办 屁股坐久了疼怎么办 屁股坐久了痛怎么办 坐多了屁股痛怎么办 上班坐的屁股痛怎么办 膝关节手术后康复膝盖疼怎么办 上下楼膝关节疼膝盖疼怎么办 跑步后关节疼该怎么办 后滚翻翻不过去怎么办 走太多路小腿疼怎么办 踢毽子以后期盖右腿内彻疼怎么办 大学体育选修课挂了怎么办 当天贴的砖踩了怎么办 刚贴的瓷砖踩了怎么办 长胶底板太轻怎么办 乒乓球拍胶皮不粘了怎么办 乒乓球拍子胶片太滑怎么办 新买的包黏黏的怎么办 卫星锅收不到台怎么办 养殖厂被卫星拍住怎么办 中六卫星无信号怎么办 晒出成片的斑怎么办 太阳晒出胳膊上长斑怎么办 宇航员在太空死后怎么办 太阳暴晒起的斑怎么办