PHP使用PHPExcel读取excel数据并批量上传到数据库
应用场景
当遇到需要批量导入数据的时候,前端会上传一个excel表格,由后端读取数据并存入数据库。前端代码就不介绍了,这是一个前后端分离的项目,主要是讲解后端读取excel表格的数据。前端上传文件就可以了。
PHPExcel 是什么
是用来操作office excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言。可以使用它来读取、写入不同格式的电子表格,如Excel(BIFF).xls,Excel 2007 (OfficeOpenXML),.xlsx,CSV,Libre/OpenOffice Calc .ods, Gnumeric, PDF, HTML等等。
要求
PHP 5.2.0 版本及以上
PHP extension php_zip 开启 (如果你需要使用 PHPExcel 来操作 .xlsx .ods or .gnumeric 文件)
PHP extension php_xml 开启
PHP extension php_gd2 开启(选填, 如果需要计算准确的列宽需要开启此扩展)
PHP 读取文件写入数据库
load($inputFileName); } catch(Exception $e) { } // 确定要读取的sheet,什么是sheet,看excel的右下角 $sheet = $objPHPExcel->getSheet(0); $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); $time = date('Y-m-d h:i:s', time()); // 把数据处理后存入数组 $array = array(); $time = date('Y-m-d h:i:s', time()); for ($row = 2; $row <= $highestRow; $row++) { $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE); // 重复数据不插入数据库 $falg = $rowData[0][0]; $sqlIf = "SELECT codes FROM tablef where codes = '$falg'"; $querySQL = mysqli_query($conn,$sqlIf); $arrSQL = mysqli_fetch_array($querySQL); if($arrSQL == null) { // 获取到 Excel 每行的数据插入数据库,需根据你自己的表格进行调整 $sql="insert into tablef(codes,year,month,idcode,type,timese) values('".$rowData[0][0]."','" .($rowData[0][1])."','".$rowData[0][2]."','".$rowData[0][3]."','".$rowData[0][4]."','".$time."')"; $query=mysqli_query($conn,$sql);//函数执行一条 MySQL 查询。 } } // 成功后返回给前端 echo json_encode(["msg" => 'ok']); }else { echo json_encode(["msg" => 'no']); } // 断开数据库连接 $conn->close(); ?>
结语
这是原生PHP使用的一个方式,我PHP的话只会一个 ThinkPHP 框架,这边我测试的话 ThinkPHP 使用起来跟这个也是差不多的,至于有些其他的php框架的话我没有用过,但是基本都差不多。现在前后端分离占主导地位,对于一些做后台的兄弟们来说,这些批量导入数据的是很常见的,这边就分享一个简单的,对于一些sql语句的话是需要修改的,这里面的sql语句是不安全的,这里提醒一下大家,测试的时候使用这些SQL语句为啥问题,生产环境切记不能这样用。
到此这篇关于PHP使用PHPExcel读取excel数据并批量上传到数据库的文章就介绍到这了,更多相关PHP PHPExcel读取excel内容请搜索科站长以前的文章或继续浏览下面的相关文章希望大家以后多多支持科站长!
栏 目:PHP编程
本文标题:PHP使用PHPExcel读取excel数据并批量上传到数据库
本文地址:https://www.fushidao.cc/wangluobiancheng/3390.html
您可能感兴趣的文章
- 02-10windows服务器iis+php获得错误信息的配置方法
- 02-09通过PHP接入DeepSeek API的两种方法
- 02-07PHP调用DeepSeek API的完整指南
- 02-06PHP foreach引用变量导致的问题及其解决方案
- 02-02PHP使用puppeteer抓取JS渲染后的页面内容
- 01-17PHP SM4加密的实现
- 01-17PHP实现用户认证与权限管理的实现
- 01-10ThinkPHP中跨域请求设置的几种方式
- 01-09ThinkPHP中的接口的安全防护措施小结
- 01-03在ThinkPHP中实现文件上传的实用示例


阅读排行
推荐教程
- 11-23PHP 7安装使用体验之性能大提升,兼容性强,扩展支
- 11-22PHP自定义函数判断是否为Get、Post及Ajax提交的方法
- 11-23php中 == 和 === 的区别和应用说明
- 11-23隐藏PHP版本与PHP基本安全设置
- 11-23PHP+MYSQL 读写分离简单实战
- 11-22详解PHP防止直接访问.php 文件的实现方法
- 11-22PHP编程求最大公约数与最小公倍数的方法示例
- 11-22PHP实现上传多图即时显示与即时删除的方法
- 11-23PHP保留两位小数的几种方法
- 11-23nginx+php 打开php错误提示的方法