php导出csv格式出现数据错乱

1,因为数据中有英文逗号 , csv换行是以英文逗号为识别所以解决方法一

       在获取到数据时用foreach把数据中的英文逗号换成中文 如果逗号不是必须要的可以可以直接去掉 然后再导出csv格式

2,导出csv会有问题 我们可以换钟方式导出 解决方法二

    直接导出excel格式

 贴出我的第二种解决方法代码  exportExcelData是封装好的导出excel的方法  exportCsv是封装好的导出csv格式的方法

 

 for ($cur_page = 1; $cur_page <= $this->max_page; $cur_page++) {
            $GLOBALS['p'] = $cur_page;
            $res          = $this->getStoreList($data);
            $list         = $res['list'];
            $uuid_list    = array_unique(array_merge(array_column($list, 'member_uuid')));
            $country_list = array_unique(array_merge(array_column($list, 'country_id')));
            $memberModel  = new MemberModel();
            $countryModel = new ErpCountryModel();
            if ($uuid_list) {
                $memberInfo = $memberModel->getModelList([
                    'uuid' => [
                        'in',
                        $uuid_list
                    ]
                ], 'uuid,job_id');
                $memberInfo = value_to_key($memberInfo, 'uuid', 'job_id');
            }
            if ($country_list) {
                $country = $countryModel->getModelList([
                    'id' => [
                        'in',
                        $country_list
                    ]
                ], 'id,name');
                $country = value_to_key($country, 'id', 'name');
            }
            foreach ($list as &$item) {
                unset($item['info'], $item['store_info']);
                if (empty($item['job_id'])) {
                    $item['job_id'] = $memberInfo[$item['member_uuid']];
                }
                $item['country_name'] = $country[$item['country_id']];

                unset($item);
            }
            if ($this->hasError()) {
                return $this->setError($this->getErrorMsg());
            }
            if (empty($list) && $cur_page == 1) {
                return $this->setError('导出数据为空,请重新筛选');
            }
            if (empty($list)) {
                break;
            }
            $table_name = $list[0]['platform_name'] . '店铺信息导出' . time();
            $excel->exportExcelData($header_arr3, $list, $table_name, [
                'create_time'
            ]);
//            $excel->exportCsv($table_name, $header_arr3, $list);
            unset($list, $res);
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值