excel两列数据对照重复值

这里用的是laravel框架,需求是把几个sheet里面的两列的重复值筛选出来,excel本身好像有这个函数,但不太会用,自定义也不强,我就自己写了个函数,直接上代码:

public function helpDada($value = '') {
    $files = Storage::allFiles('testData');
    foreach ($files as $key => $excel_file_path) {
        $excel_file_path = 'D:/phpStudy/WWW/' . $excel_file_path;
        // 按照sheet名字取值 selectSheets('sheet1', 'sheet2')
        // 按照index取值 selectSheetsByIndex(0,1,2,3),注意,第一个sheet的index为0
        $excel_data = Excel::selectSheetsByIndex(1, 2, 3)
            ->load($excel_file_path)
        //只取这两列
            ->get(['pre_u', 'bcc'])
            ->toArray();

        $sheet2 = array_unique(array_intersect(array_column($excel_data[0], 'pre_u'), array_column($excel_data[0], 'bcc')));
        $sheet3 = array_unique(array_intersect(array_column($excel_data[1], 'pre_u'), array_column($excel_data[1], 'bcc')));
        $sheet4 = array_unique(array_intersect(array_column($excel_data[2], 'pre_u'), array_column($excel_data[2], 'bcc')));
        dd($sheet2, $sheet3, $sheet4);
        dd(count($sheet2) - 1, count($sheet3) - 1, count($sheet4) - 1);
    }

}

更多用法:
http://www.maatwebsite.nl/laravel-excel/docs/import

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SHUIPING_YANG

你的鼓励是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值