thinkphp6 excel导入

ThinkPHP6中,可以使用phpoffice/phpspreadsheet库进行Excel导入。首先安装库,然后使用load方法读取Excel文件,最后遍历数据并插入数据库。

ThinkPHP如何把Excel导入

准备工作

1、安装PHPExcel库:在ThinkPHP项目中,可以使用Composer来安装PHPExcel库,打开命令行工具,进入项目根目录,执行以下命令:

thinkphp6 excel导入

composer require phpoffice/phpexcel

2、创建一个新的控制器:在application目录下的controller文件夹中,创建一个名为ImportExcel的控制器文件。

导入Excel数据

1、在ImportExcel控制器中,编写一个名为importAction的方法,用于处理Excel导入操作,代码如下:

thinkphp6 excel导入

<?php
namespace appindexcontroller;
use PHPExcel_IOFactory;
use PHPExcel_Cell;
use PHPExcel_Worksheet;
use PHPExcel_Workbook;
use PHPExcel_Reader_Excel5;
use PHPExcel_Reader_Excel2007;
use PHPExcel_Exception;
class ImportExcel {
    public function importAction() {
        // 设置上传文件路径和文件名
        $filePath = './Uploads/'; // 根据实际情况修改文件路径
        $fileName = 'example.xlsx'; // 根据实际情况修改文件名
        
        // 检查文件是否存在
        if (!file_exists($filePath . $fileName)) {
            $this>error('文件不存在');
        }
        
        // 读取Excel文件内容
        try {
            $objPHPExcel = PHPExcel_IOFactory::load($filePath . $fileName);
            $worksheet = $objPHPExcel>getActiveSheet();
            
            // 获取表头信息
            $headRow = $worksheet>rangeToArray('A1:C1', null, true, false)>toArray();
            $headData = array_shift($headRow); // 取出第一行数据作为表头信息
            
            // 遍历表格数据并插入数据库(根据实际情况修改数据库操作)
            $dataList = []; // 存储读取到的数据列表
            foreach ($worksheet>toArray() as $row) {
                if (empty($row)) continue; // 跳过空行
                $data = []; // 存储当前行的数据
                foreach ($headData as $key => $value) {
                    $cell = new PHPExcel_Cell($row[$key]);
                    $data[] = $cell>getValue(); // 获取单元格的值并存入数组
                }
                $dataList[] = $data; // 将当前行的数据存入数据列表中
            }
            
            // 插入数据库操作(根据实际情况修改数据库操作)
            // ...
            
            // 返回成功信息
            $this>success('导入成功');
        } catch (PHPExcel_Exception $e) {
            $this>error('导入失败:' . $e>getMessage());
        } catch (Exception $e) {
            $this>error('导入失败:' . $e>getMessage());
        }
    }
}
?>

2、在路由配置文件(route.php)中添加路由规则,以便访问该控制器方法,代码如下:

Route::get('import', 'index/ImportExcel/import'); // 访问http://yourdomain/import时调用importAction方法进行导入操作

3、在浏览器中访问http://yourdomain/import,即可开始导入Excel数据,请确保已将待导入的Excel文件放置在指定的Uploads文件夹中。

thinkphp6 excel导入

4、根据实际需求,在上述代码中的数据库操作部分进行相应的修改,以完成数据的导入和处理,可以使用ThinkPHP的ORM模型进行数据库操作,或者使用原生SQL语句进行数据库操作。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/565186.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-05-04 04:00
下一篇 2024-05-04 04:01

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入