#laravel 通过手动安装依赖PHPExcel#

场景:在使用laravel框架的时候,需要读取excel,使用 composer install XXXX 安装excel失败,根据报错提示,php不兼容。 因为PHPHExcel使用的php版本
和项目运所需要的php 版本不兼容,php8的版本

解决方法:下载手工安装,步骤如下
1:网站找到PHPExcel下载链接下载PHPExcel
2: 在app下新建一个libs目录,把下载的PHPExcel放在里面

3:配置 composer.json文件,找到 class_map字段,把创建的Excel加进去


4:更新composerclassmap,使用命令
   composer dumpautoload  [为了更新autoload_classmap.php文件内容]
5:使用。引入->调用
use PHPExcel_IOFactory;
use PHPExcel;

省略....

$filepath = public_path("upload/1.xlsx"); //.DIRECTORY_SEPARATOR."upload/1.xlsx";
        print_r($filepath);

        //$objPHPExcel = PHPExcel_IOFactory::load($filepath);
        $reader = PHPExcel_IOFactory::createReader('Excel2007');
        $PHPExcel = $reader->load($filepath);

        /**读取excel文件中的第一个工作表*/
        $currentSheet = $PHPExcel->getSheet(0);
        /**取得最大的列号*/
        $allColumn = $currentSheet->getHighestColumn();
        /**取得一共有多少行*/
        $allRow = $currentSheet->getHighestRow();
        //循环读取每个单元格的内容。注意行从1开始,列从A开始
        $list = [];
        for ($rowIndex = 1; $rowIndex <= $allRow; $rowIndex++) {
            for ($colIndex = 'A'; $colIndex <= $allColumn; $colIndex++) {
                $addr = $colIndex . $rowIndex;
                $cell = $currentSheet->getCell($addr)->getValue();
                if ($cell instanceof PHPExcel_RichText) {
                    //富文本转换字符串
                    $cell = $cell->__toString();
                }
                $list[] = $cell;
            }

        }

        print_r($list);
        die("SSSSSSS");
6:运行,这个时候应该会报错
  由于运行的php8不兼容, 根据报错提示,修改对应的phpexcel安装包,基本都是 通过{}获取数组元素,修改成 []方式获取
7:修改完以后正常运行

你可能感兴趣的:(laravel,php)