ThinkPHP如何把Excel导入
准备工作
1、安装PHPExcel库:在ThinkPHP项目中,可以使用Composer来安装PHPExcel库,打开命令行工具,进入项目根目录,执行以下命令:
composer require phpoffice/phpexcel
2、创建一个新的控制器:在application目录下的controller文件夹中,创建一个名为ImportExcel的控制器文件。
导入Excel数据
1、在ImportExcel控制器中,编写一个名为importAction的方法,用于处理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文件夹中。
4、根据实际需求,在上述代码中的数据库操作部分进行相应的修改,以完成数据的导入和处理,可以使用ThinkPHP的ORM模型进行数据库操作,或者使用原生SQL语句进行数据库操作。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/565186.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复