【问题标题】:Export php array data to CSV or Excel将 php 数组数据导出到 CSV 或 Excel
【发布时间】:2018-11-28 08:04:55
【问题描述】:

变量 $list 存储一个数组,如下所示。 我需要将数组传递给 CSV 或 XLS 并发送标题以下载文件。

print_r($list) 显示以下内容:

Array
  (
    [0] => Array
       (
         [warehouse] => Array
            (
              [warehouseName] => Warehouse Europe
              [warehouseType] => en detail
            )

          [products] => Array
            (
                [0] => Array
                    (
                        [productName] => APPAREL SHIRTS
                        [productCode] => 54059761696
                        [measuringUnit] => buc
                        [quantity] => 1
                    )

                [1] => Array
                    (
                        [productName] => T-SHIRTS - SADAL
                        [productCode] => 54059764755
                        [measuringUnit] => buc
                        [quantity] => 0
                    )


      ........... more data ............


             [5315] => Array
                    (
                        [productName] => Ski - COLBECK 
                        [productCode] => 54080519051
                        [measuringUnit] => buc
                        [quantity] => 3
                    )



              )

    )

[1] => Array
    (
        [warehouse] => Array
            (
                [warehouseName] => Warehouse US
                [warehouseType] => en detail
            )

        [products] => Array
            (
                [0] => Array
                    (
                        [productName] => T-SHIRTS - SHEW
                        [productCode] => 40059763901
                        [measuringUnit] => buc
                        [quantity] => 5
                    )

                [1] => Array
                    (
                        [productName] => SHOESSHOES - OPTIMA
                        [productCode] => 45063556796
                        [measuringUnit] => buc
                        [quantity] => 2
                    )

 ........... more data ............

                [3178] => Array
                    (
                        [productName] => Ski - CASTINE
                        [productCode] => 40080490213
                        [measuringUnit] => buc
                        [quantity] => 1
                    )

            )

      )

)

CSV 在 excel 中如下所示:example 我尝试了几次,但我无法处理它。我认为 foreach 函数和 fputcsv 应该可以解决问题。

///// 稍后编辑 /////

这解决了,谢谢!

 foreach($list as $item){
     foreach($item['products'] as $product){
         $wName = $item['warehouse']['warehouseName'];
         $wType = $item['warehouse']['warehouseType'];
         $pr =implode(',',$product);
         printf("%s,%s,%s".PHP_EOL,$wName,$wType,$pr);
     }
 }

【问题讨论】:

  • 我尝试了好几次,你能分享一下最接近你想要实现的尝试吗?!
  • 嗨,阿里的回答成功了。我正在尝试类似的东西,但只能获取仓库名称和类型。

标签: php arrays excel csv


【解决方案1】:

为了便于理解,我使用了更多变量。你可以减少它们,你可以用 sprintffile_put_content 替换 printfecho 函数以及你想要的一切 p>

foreach($list as $item)
{
    foreach($item['products'] as $product){
         $wName = $item['warehouse']['warehouseName'];
         $wType = $item['warehouse']['warehouseType'];
         $pr =implode(',',$product);
         printf("%s,%s,%s".PHP_EOL,$wName,$wType,$pr);
   }
   echo "...,...,...,...,...,...";
}

【讨论】:

  • 它就像一个魅力,无需任何其他改进。正是我需要的,非常感谢!
猜你喜欢
  • 2011-12-04
  • 2013-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-31
  • 1970-01-01
  • 2013-12-12
  • 1970-01-01
相关资源
最近更新 更多