【问题标题】:How to export excel with phone number format data using Maatwebsite Laravel如何使用 Maatwebsite Laravel 导出带有电话号码格式数据的 Excel
【发布时间】:2018-01-09 08:25:34
【问题描述】:

我对使用 maatwebsite 导出 laravel 感到困惑,我想在使用“+62”导出后保留电话号码数据,但结果是“62...”。

  0 => array:17 [▼
"created_at" => "13 Sep 2016 @ 04:37:16"
"merchant_name" => "XXX"
"merchant_email" => "XXX"
"merchant_phone" => "+6281290926402"
"merchant_address" => """
  XXX
  """
"instagram_id" => "XXX"
"facebook_account" => "XXX"
"bank_name" => "CIMB Niaga"
"branch_name" => "XXX"
"province_name" => "DKI JAKARTA"
"city_name" => "JAKARTA SELATAN"
"district_name" => "CILANDAK"
"subdistrict_name" => "CIPETE SELATAN"
"postal_code" => "12410"
"account_name" => "XXX"
"account_number" => "XXX"
"merchant_status" => "active"

]

这是我导出数据的代码

$result = Excel::create('Merchant Recap - '.$day.' '.$month.' '.$year.' '.$hour.':'.$minute.':'.$second, function ($excel) use ($day, $month, $year, $hour, $minute, $second, $data) {
        $excel->sheet('Order Recap', function($sheet) use ($day, $month, $year, $hour, $minute, $second, $data) {
            $row = 1;
            $sheet->row($row, array('Merchant Name', 'Merchant Email', 'Merchant Phone', 'Merchant Address', 'Instagram', 'Facebook', 'Bank of Merchant', 'Branch', 'Province', 'City', 'District', 'Subdistrict', 'Postal Code', 'Account Name', 'Account Number', 'Status', 'Created Date'));
            $sheet->cells('A'.$row.':Q'.$row, function($cells) {
                $cells->setFont(array(
                    'size' => 12,
                    'bold' => true
                ));
            });
            $row++;
            $sheet->setColumnFormat([
                'C' => "aaaaa",
                'O' => "#",
                'Q' => "dd mmmm yyyy HH:mm:ss"
            ]);
            foreach ($data as $key => $merchant) {
                $sheet->row
                ($row, array( 
                    $merchant->merchant_name
                    ,$merchant->merchant_email
                    ,$merchant->merchant_phone
                    ....
                    ,PHPExcel_Shared_Date::PHPToExcel(strtotime($created_at))
                ));
                $sheet->getStyle('A'.$row.':Q'.$row)->getAlignment()->applyFromArray(
                    array('horizontal' => 'left')
                );
                $row++;
            }

            $sheet->setAutoFilter('A4:Q4');

        });

    })->export('xls');

请帮我解决这个问题(以电话号码格式导出数据)。此外,如果数据库中的电话号码为“081 ...”,则导出后为“81 ...”。我想将数据库中的电话号码完全导出到excel而不更改格式。提前谢谢你。

【问题讨论】:

  • 尝试将列格式从'C' => "aaaaa"更改为'C' => "@",
  • 我已经尝试过了,但它改为“6.28163E+12”。但是当我将格式更改为 'C' => "#0" 时,它被删除了 E+ 但不能 "+62..."
  • 笨方法但可能是解决问题的方法,尝试在电话值后添加空格。 $merchant->merchant_phone + " "
  • 谢谢。用 $merchant->merchant_phone 解决了。" "

标签: excel laravel maatwebsite-excel


【解决方案1】:

尝试更改列格式:

'C' => "aaaaa"

...到:

'C' => "###-###-####"

...或:

'C' => "[<=9999999]###-####;(###) ###-####"

【讨论】:

    【解决方案2】:

    更改列格式:

    [
        'D' => '+#'
    ]
    

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-10
      • 1970-01-01
      • 2021-10-08
      • 2020-07-09
      • 2019-05-20
      • 1970-01-01
      • 2016-11-23
      • 1970-01-01
      相关资源
      最近更新 更多