gpt4 book ai didi

laravel - 如何创建一个 excel 文件并在邮件中附加而不存储在本地磁盘中

转载 作者:行者123 更新时间:2023-12-04 14:21:40 24 4
gpt4 key购买 nike

使用 maatwebsite 我必须生成“xlsx”文件并通过可邮寄或直接邮件附件将其附加到电子邮件中。

默认情况下,文件存储在我不想要的存储文件夹中。

忽略脚本末尾的导出或下载方法,并在变量中分配 Excel::create。

$file = Excel::create($fileName, function($excel) use($valuesInArray) {
$excel->sheet('Sheetname', function($sheet) use($valuesInArray) {
$sheet->fromArray($valuesInArray);
});
});

Mail::send('email.documents_export',["user"=>"Albert", "clientName" => "AAA"],function($m) use($file){
$m->to('albert@aaa.com')->subject('Document Export');
$m->attach($file->store("xlsx",false,true)['full']);
});

文件必须可用于附件而不存储在任何地方。

最佳答案

您应该使用“字符串”方法,而不是使用“存储”方法。

下面是库代码中“string”方法的作用:

ob_start();

$this->writer->save('php://output');

return ob_get_clean();

所以在你的电子邮件代码中你应该这样写:

$file = Excel::create($fileName, function($excel){
// Your code here
});

Mail::send('email.documents_export',["user"=>"Albert", "clientName" => AAAA"],function($m) use($file){
$m->to('albert@aaa.com')->subject('Document Export');
$m->attachData($file->string("xlsx"), $fileName);
});

我花了几个小时才搞定这个……官方文档没有提到这个方法。

再见=D

关于laravel - 如何创建一个 excel 文件并在邮件中附加而不存储在本地磁盘中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54019333/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com