| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | <?phpnamespace app\index\controller;use PhpOffice\PhpSpreadsheet\IOFactory;class Excel{    /**     * excel比对,打印比对结果     * @throws \PhpOffice\PhpSpreadsheet\Exception     */    public function compaire()    {        writeln("compaire begin");        $exel = ROOT_DIR . "/excel/rhasd211027.xlsx";        writeln($exel);        $spreadsheet = IOFactory::load($exel);        //格式化数据        $sheet1 = $spreadsheet->getSheet(0);        $array1 = $sheet1->toArray();        foreach ($array1 as $key => $value) {            //银行卡            $array1[$key][1] = str_replace("'", "", $value[1]);            $array1[$key][1] = trim(str_replace(" ", "", $array1[$key][1]));            //状态            $array1[$key][4] = trim($value[4]);        }        $sheet2 = $spreadsheet->getSheet(1);        $array2 = $sheet2->toArray();        foreach ($array2 as $key => $value) {            //银行卡            $array2[$key][4] = str_replace("'", "", $value[4]);            $array2[$key][4] = trim(str_replace(" ", "", $array2[$key][4]));            //状态            $array2[$key][9] = trim($value[9]);        }        //比对        $diffArr = [];        foreach ($array1 as $key1 => $value1) {            if ($key1 == 0) {                continue;            }            //writeln("key1:" . $key1);            $isSame = false;            foreach ($array2 as $key2 => $value2) {                if ($value1[1] == $value2[4] && $value1[4] == $value2[9] && $value1[2] == $value2[6]) {                    $isSame = true;                    break;                }            }            if (!$isSame) {                $diffArr[] = $value1;            }        }        writeln("差异的记录:");        foreach ($diffArr as $key => $value) {            writeln($value);        }        writeln("compaire end");    }}
 |