【问题标题】:how to set excel column names (headings) dynamically in laravel?如何在laravel中动态设置excel列名(标题)?
【发布时间】:2020-01-06 11:06:30
【问题描述】:

这是我的 excel 列

$excel_array[$i]['id'] = $value['id'];
$excel_array[$i]['name'] = $value['name'];
$excel_array[$i]['dob'] = $value['dob'];
$excel_array[$i]['mobile_no']=$value['mobile_no'];
$k=0;
foreach($value['child_details'] as $data1){
$excel_array[$i]['child_name'.$k]=$data1['child_name'];
$excel_array[$i]['child_date_of_birth'.$k]=$data1['date_of_birth'];
$k++;
}
$sheet->row($i,$excel_array[$i]);
$i++;

这是我的专栏标题

$excel_array[1] = ['id','name','dob','mobile_no','child_name','child_dob'];
$sheet->row(1,$excel_array[1]); 
$excel->download('xls');   

我想根据子数据动态设置此列标题..

【问题讨论】:

  • 到目前为止你尝试过什么?你被困在哪里了?为什么不简单地更改元素列表?
  • 我不知道你在哪里挣扎。你能提供更多信息吗?
  • 第一次提及您使用的是哪个版本
  • @WaLinke 我想更改 excel 工作表标题 lilke [id,name,dob,mobileno,child1,dob1,child2,dob2,child3,dob3] 这里子详细信息应该是动态的。列名可能会改变基于孩子的数量..
  • @KamleshPaul Laravel 5.5 和 php 7.2

标签: laravel maatwebsite-excel


【解决方案1】:

试试这个

 $sheet->row(1, array(
            'id','name','dob','mobile_no','child_name','child_dob'
        ));
 $excel->download('xls'); 

参考链接https://docs.laravel-excel.com/2.1/export/rows.html

【讨论】:

    【解决方案2】:

    您必须创建一个数组并将标题名称动态添加到其中。

    $array = [];
    for ($i = 1; $i <= $nbHeaders; $i++) {
        array_push($array, $value);
    }
    $sheet->row(1,$array);
    

    $nbHeaders 是您要添加的标头数量。

    https://www.php.net/manual/fr/function.array-push.php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-05
      • 2012-06-20
      • 2013-03-27
      • 1970-01-01
      相关资源
      最近更新 更多