我正在运行一个脚本,它将收集的数据存储在csv中。它的工作原理如下:
$responce = Excel::store(new UsersExport($formatted_data), 'fileName.csv', null, \Maatwebsite\Excel\Excel::CSV);
这就是我的课:
class UsersExport implements FromArray
{
protected $invoices;
public function __construct(array $invoices)
{
$this->invoices = $invoices;
}
public function array(): array
{
return $this->invoices;
}
}
到目前为止,文件名是硬编码的,我想让它动态化。每次运行新的导出(2020- 01. csv或类似的东西)时,它应该随着年份和月份而改变。
protected $signature = 'select:values {--year=} {--month=}';
在where子句中,我是这样过滤的:
->whereMonth('ut', $this->option('month'))
->whereYear('ut', $this->option('year'))
已尝试
Excel::store(new UsersExport($formatted_data)->withFilename()
但是它不起作用...到目前为止我还没有找到类似于我的解决方案的东西。有什么关于如何解决这个问题的想法吗?谢谢!
2条答案
按热度按时间uxhixvfz1#
你能试试这个吗?
ulydmbyx2#
我的解决办法是:使用简单的PHP连接...
$responce = Excel::store(new UsersExport($formatted_data), $fileName ,null, \Maatwebsite\Excel\Excel::CSV);
并将变量放入导出中,如下所示:
$responce = Excel::store(new UsersExport($formatted_data), $fileName ,null, \Maatwebsite\Excel\Excel::CSV);
个