【问题标题】:Export csv with laravel excel in specific folder在特定文件夹中使用 laravel excel 导出 csv
【发布时间】:2020-05-24 00:44:17
【问题描述】:

您好,我正在尝试在特定文件夹中导出 csv 文件,我尝试了几件事,但没有结果

通过执行以下代码,它通常会将我导出到默认的/app/ 文件夹中

  public function export(){
    $super = Super::select('ano_plantacion','zona','sitio', 'manejo','sup_ha','codigo','rpend')->get();
    Excel::store(new SuperExport($super), 'Super.csv')); 
  }

我试试这个:

Excel::store(new SuperExport($super), 'Super.csv', storage_path('/app/export'));

错误:

"Trying to access array offset on value of type null"

还有这个:

Excel::store(new SuperExport($super), storage_path('/app/export/Super.csv'));

错误:

Impossible to create the root directory "C:\Users\pachi\Documents\Version_web\mpe_web\storage\app\C:/Users/pachi/Documents/Version_web/mpe_web/storage/app/export

请帮忙

【问题讨论】:

  • Excel::store( new SuperExport($super), '/app/export/Super.csv' ); 呢?
  • 是的,它成功了!但是我在 app/ 中创建了一个新的 app/ 文件夹,它按照我的意愿工作:Excel::store( new SuperExport($super), '/export/Super.csv' ); 谢谢,解决方案非常简单,但我不知道为什么我没有尝试这种形状

标签: laravel csv laravel-excel


【解决方案1】:

由于 Excel store() 方法使用默认磁盘,如果你不指定另一个磁盘,在 laravel 中默认指向 storage_path('app'),你可以在文件名前面加上 export/ 目录:

Excel::store( new SuperExport($super), '/export/Super.csv' );

或者,您可以通过在/config/filesystems.php 文件的'disks' 索引下添加以下数组来为导出创建磁盘:

'disks' => [
    // your other disks here, leave them as they are, and add this one

    'export' => [
        'driver' => 'local',
        'root' => storage_path('app/export'),
    ],

],

然后将该磁盘指定为store() 方法的第三个参数:

Excel::store( new SuperExport($super), 'Super.csv', 'export' );

【讨论】:

    猜你喜欢
    • 2018-01-26
    • 1970-01-01
    • 2020-12-12
    • 2022-08-18
    • 2019-04-12
    • 1970-01-01
    • 2023-03-23
    • 2017-04-28
    • 1970-01-01
    相关资源
    最近更新 更多