php读取excel中文匹配_PHP根据Excel表头指定的字段,自动匹配数据

背景

在使用PHP解析Excel数据的时候,经常期望能把Excel中的数据自动和数据库字段建立上映射关系;

比如下图一 - Excel文件,图二 - 数据库字段

如果读取Excel后直接返回下面的数据就好了!

虽然这是在处理excel的时常用的需求,但是目前在网上没有找到一个方便好用的方法!

于是我决定造了一个轮子,我封装了一个比较简单的方式,基本只要一行代码,就可以直接返回下面结构;

[{

"name": "张三",

"height": 180,

"birthday": "2000年11月13日"

}, {

"name": "李四",

"height": 160,

"birthday": "2001年12月3日"

}, {

"name": "王五",

"height": 170,

"birthday": "1992年1月13日"

}]

1d41817e903e

图一 - excel文件

1d41817e903e

图二 - 数据库字段

安装

安装扩展包

composer require jsyqw/utils

/**

$file: excel 文件路径

数据库字段 birthday 和excel表头中的数据 "出生日期" 对应,

数据库字段 name 和excel表头中的数据 "名称" 对应,

数据库字段 height 和excel表头中的数据 "身高" 对应,

*/

// 敲重点,这个就是那个简化封装的代码

$data = ExcelHelper::instance()->getData($file, ["birthday" => "出生日期", "name" => "名称", "height" => "身高"]);

$data 的数据如下:

[{

"B": "男",

"C": "打篮球",

"E": 70,

"G": null,

"name": "张三",

"height": 180,

"birthday": "2000年11月13日"

}, {

"B": "女",

"C": null,

"E": 50,

"G": null,

"name": "李四",

"height": 160,

"birthday": "2001年12月3日"

}, {

"B": "女",

"C": "画画",

"E": 40,

"G": null,

"name": "王五",

"height": 170,

"birthday": "1992年1月13日"

}]

对应的源码地址:

https://github.com/jasonyqwang/Utils.git

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值