μλ
νμλκΉ,
λ²μ 3.1μμ μμ±λ μμ
νμΌμ μ΄λ»κ² 첨λΆν μ μλμ?
μ΄μ λ²μ (v.2)μμλ "->download()" μμ΄ create λ©μλλ₯Ό ν΅ν΄ κ°λ₯νμ΅λλ€.
μ΄ λ°©λ²μΌλ‘ μλνκ³ μμ§λ§ μλνμ§ μμ΅λλ€.
$filename = 'text.xlsx';
$attachment = Excel::download(new TestExport(), $filename);
\Mail::to('[email protected]')->send(new SendMail($attachment));
# Inside SendMail.php
public function __construct($attachment)
{
$this->attachment = $attachment;
}
public function build()
{
$mail = $this->from('[email protected]')
->subject('test attachment')
->markdown('emails.test_mail')
->attach($this->attachment);
return $mail;
}
λλ λκ°μ μ§λ¬Έμ΄ μμ΅λλ€.
νμΌ λ΄μμ protectedμμ public export() λ©μλλ‘ λ³κ²½λλ μ루μ μ μ°Ύμμ΅λλ€.
maatwebsite\excel\src\Excel.php
ν: 166
μ΄λ° μμΌλ‘ μ½λλ λ€μκ³Ό κ°μ μ μμ΅λλ€.
````
$attachment = μμ
::export(new TestExport(), $filename);
[...]
$mail = $this->from('[email protected]')
->μ λͺ©('첨λΆνμΌ ν
μ€νΈ')
->λ§ν¬λ€μ΄('emails.test_mail')
->attach($this->attachment, , ['as' => $filename]);
````
Excel ν΄λμ€μ 보νΈλ λ©μλλ₯Ό μμ νμ§ μκ³ λ μλνλλ‘ νλ μ루μ
μ μ°Ύμμ΅λλ€. λΉμ μ νΈμΆ ν μ μμ΅λλ€ getFile()
λ‘λΆν° Excel::download(/**/)
. μ½λλ λ€μκ³Ό κ°μ΅λλ€.
public function build()
{
return $this->markdown('emails.report')
->attach(
Excel::download(
new AuditReport($this->audit),
'report.xlsx'
)->getFile(), ['as' => 'report.xlsx']
);
}
Excel::download()
λ BinaryFileResponse
λ₯Ό λ°ννλ―λ‘ μ§μ μλνμ§ μμ§λ§ νμΌμ κ°μ Έμ¬ μ μμ΅λλ€.
λμμ΄ λκΈ°λ₯Ό λ°λλλ€ π
Excel ν΄λμ€μ 보νΈλ λ©μλλ₯Ό μμ νμ§ μκ³ λ μλνλλ‘ νλ μ루μ μ μ°Ύμμ΅λλ€. λΉμ μ νΈμΆ ν μ μμ΅λλ€
getFile()
λ‘λΆν°Excel::download(/**/)
. μ½λλ λ€μκ³Ό κ°μ΅λλ€.public function build() { return $this->markdown('emails.report') ->attach( Excel::download( new AuditReport($this->audit), 'report.xlsx' )->getFile(), ['as' => 'report.xlsx'] ); }
Excel::download()
λBinaryFileResponse
λ₯Ό λ°ννλ―λ‘ μ§μ μλνμ§ μμ§λ§ νμΌμ κ°μ Έμ¬ μ μμ΅λλ€.λμμ΄ λκΈ°λ₯Ό λ°λλλ€.
νμΌμ΄ λμ€ν¬μ κΈ°λ‘λ λ μλ²μ tmp λλ ν 리μ μ£Όμνμμμ€.
λ΄λ³΄λ΄κΈ°λ κ³΅κ° λ°©λ²μ΄μ΄μΌ ν©λλ€.
μλ‘ λμμ€μ κ³ λ§μμ! π
λ€μμ νμΌμ λ€μ΄λ‘λ/μμ±νμ§ μκ³ μννλ λ°©λ²μ λλ€.
use Maatwebsite\Excel\Excel as BaseExcel;
use Maatwebsite\Excel\Facades\Excel;
...
$filename = "{$this->po->po_memo}.xlsx";
$attachment = Excel::raw(new PurchaseOrderLinesExport($this->po), BaseExcel::XLSX);
$subject = "Purchase Order Invoice"
return $this->from($this->po->employee->email)
->subject($subject)
->view('emails.pom.send')
->text('emails.pom.send')
->attachData($attachment, $filename);
Excel ν΄λμ€μ 보νΈλ λ©μλλ₯Ό μμ νμ§ μκ³ λ μλνλλ‘ νλ μ루μ μ μ°Ύμμ΅λλ€. λΉμ μ νΈμΆ ν μ μμ΅λλ€
getFile()
λ‘λΆν°Excel::download(/**/)
. μ½λλ λ€μκ³Ό κ°μ΅λλ€.public function build() { return $this->markdown('emails.report') ->attach( Excel::download( new AuditReport($this->audit), 'report.xlsx' )->getFile(), ['as' => 'report.xlsx'] ); }
Excel::download()
λBinaryFileResponse
λ₯Ό λ°ννλ―λ‘ μ§μ μλνμ§ μμ§λ§ νμΌμ κ°μ Έμ¬ μ μμ΅λλ€.μ€λ§μΌλ¦¬ λμμ΄ λκΈΈ λ°λλλ€
λλΆμ μ μκ² ν¨κ³Όμ μ΄μμ΅λλ€.
use Maatwebsite\Excel\Excel as BaseExcel; use Maatwebsite\Excel\Facades\Excel; ... $filename = "{$this->po->po_memo}.xlsx"; $attachment = Excel::raw(new PurchaseOrderLinesExport($this->po), BaseExcel::XLSX);
μ λ§ κ°μ¬ν©λλ€. λλ₯Ό μν μΌμ΄μΌ
κ°μ₯ μ μ©ν λκΈ
Excel ν΄λμ€μ 보νΈλ λ©μλλ₯Ό μμ νμ§ μκ³ λ μλνλλ‘ νλ μ루μ μ μ°Ύμμ΅λλ€. λΉμ μ νΈμΆ ν μ μμ΅λλ€
getFile()
λ‘λΆν°Excel::download(/**/)
. μ½λλ λ€μκ³Ό κ°μ΅λλ€.Excel::download()
λBinaryFileResponse
λ₯Ό λ°ννλ―λ‘ μ§μ μλνμ§ μμ§λ§ νμΌμ κ°μ Έμ¬ μ μμ΅λλ€.λμμ΄ λκΈ°λ₯Ό λ°λλλ€ π