tp5 Composer安装与加载phpexcel插件与使用

这篇博客介绍了如何使用Composer在ThinkPHP5项目中安装PHPExcel插件。首先,从https://getcomposer.org/download/下载并安装Composer,然后在项目根目录通过命令`composer require phpoffice/phpexcel -vvv`进行安装。然而,在加载过程中遇到了`ZipArchive::getFromName(): Invalid or uninitialized Zip object`和`Could not open xxx for reading! File does not exist.`的错误,提示文件可能不存在。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Composer下载地址https://getcomposer.org/download/

安装好以后切换到项目根目录输入这串命令

使用 Composer 安装 ThinkPHP5

composer create-project topthink/think tp5 dev-master --prefer-dist

composer require phpoffice/phpexcel -vvv等待安装

加载步骤:

use PHPExcel_IOFactory;
use PHPExcel

 public function inserExcel()
    {
        //获取表单上传文件
        $file = request()->file('excel');
        $info = $file->validate(['ext' => 'xlsx'])->move(ROOT_PATH . 'public' . DS . 'uploads'.DS.'excel');
        if ($info) {
//            echo $info->getFilename();
            $exclePath = $info->getSaveName();  //获取文件名
            $file_name = ROOT_PATH . 'public' . DS . 'uploads' .DS.'excel'.DS. $exclePath;   //上传文件的地址
            //dump($file_name);
            $objReader = \PHPExcel_IOFactory::createReader('Excel2007');

            //dump($objReader);
            $obj_PHPExcel = $objReader->load($file_name, $encode = 'utf-8');  //加载文件内容,编码utf-8
            echo "<pre>";
            $excel_array = $obj_PHPExcel->getsheet(0)->toArray();   //转换为数组格式
            array_shift($excel_array);  //删除第一个数组(标题);
            $city = [];
            dump($excel_array);
            foreach ($excel_array as $k => $v) {
                $city[$k]['Id'] = $v[0];
                $city[$k]['code'] = $v[1];
                $city[$k]['path'] = $v[2];
                $city[$k]['pcode'] = $v[3];
                $city[$k]['name'] = $v[4];
            }
            Db::name('city')->insertAll($city); //批量插入数据
        } else {
            echo $file->getError();
        }
如果报

ZipArchive::getFromName(): Invalid or uninitialized Zip object

为excel后缀问题,转换成xlsx后缀

Could not open xxx for reading! File does not exist.

为获取路径的问题


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值