FromQuery рд╡рд┐рдзрд┐ рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд░рд╣рд╛ рд╣реИ... рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб, XLSX рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓рдиреЗ рдкрд░, рдХрд╛рд░реНрдпрд╛рд▓рдп рд╕реЗ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ:
"рдПрдХреНрд╕реЗрд▓ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдЦреЛрд▓ рд╕рдХрддрд╛
рдпрд╣рд╛рдБ рдореЗрд░реА рд╡рд┐рдзрд┐ рд╣реИ
namespace Modules\Profile\Exports;
use Maatwebsite\Excel\Concerns\FromQuery;
use Maatwebsite\Excel\Concerns\Exportable;
use Modules\Profile\Entities\Profile;
class ProfileExport implements FromQuery
{
use Exportable;
public function __construct($range)
{
$this->start = $range['start'];
$this->end = $range['end'];
}
public function query()
{
return Profile::query()->where('created_at', '>=', $this->start . ' 00:00:00')
->where('created_at', '<=', $this->end . ' 23:59:59')
->whereHas('user.roles', function($query){
$query->where('id', 2);
});
}
}
рдореИрдВ рдЗрд╕реЗ рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрд╣рддреЗ рд╣реИрдВ
//$request->start = '2018-01-01';
//$request->end = '2018-05-01';
$range = ['start'=>$request->start, 'end'=>$request->end];
return (new ProfileExport($range))->download($request->start . '-' . $request->end .'-pet-parent-signups.xlsx');
рдЕрдкреЗрдХреНрд╖рд┐рддреН рд╡реНрдпрд╡рд╣рд╛рд░:
рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░:
рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рд╣реЛ рдЬрд╛рддреА рд╣реИ рд▓реЗрдХрд┐рди рдПрдХреНрд╕реЗрд▓ рдЗрд╕реЗ рдЦреЛрд▓рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ
рдореИрдВрдиреЗ рд╡рд╛рдХреНрдкрдЯреБ рдореЗрдВ рдХреНрд╡реЗрд░реА рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдЧреНрд░рд╣ рджреЗрддрд╛ рд╣реИред
(https://user-images.githubusercontent.com/18451450/40511758-f61e6570-5f5d-11e8-9f37-0b594f60be59.png)
рдЕрдЧреНрд░рд┐рдо рдзрдиреНрдпрд╡рд╛рдж рднреА :)
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд░реИрдкрд░ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА PhpSpreadsheet рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди PHPExcel рдХреЛ <?php
рдЦреБрд▓реЗ рдЯреИрдЧ рдХреЗ рд╕рд╛рдордиреЗ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди ( ) рд╣реЛрдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдереАред рдЬреЛ рдЕрддреАрдд рдореЗрдВ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рдерд╛ред
рдЖрдк рдиреИрдиреЛ рдпрд╛ рд╡рд┐рдо рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдЧрд░ рдЖрдкрдХреЛ PK рд╕реЗ рдкрд╣рд▓реЗ рдХреЛрдИ рд╕реНрдкреЗрд╕ рджрд┐рдЦрд╛рдИ рджреЗ рддреЛ рдРрд╕реЗ рд╣реА
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдХреЛрдб рдпрд╛ рд╡рд┐рдХреНрд░реЗрддрд╛ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реБрдИ рд╣реЛред рдореИрдВ рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдорд┐рд▓рд╛ рдФрд░ рд╡рд┐рдХреНрд░реЗрддрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ред рд╡рд┐рдХреНрд░реЗрддрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рд╣реЗ рд╕рдм, рдиреЗрддреГрддреНрд╡ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕рд╣реА рд╣реИрдВ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдЗрди рдмреНрд░реЗрдХ рдпрд╛ рдХреБрдЫ рд╣реИред рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЗрд╕рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рд╕реАрдПрд╕рд╡реА рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдбреЗрдЯрд╛ рд╡рд╣рд╛рдВ рд╣реИ рд▓реЗрдХрд┐рди рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдЦрд╛рд▓реА рд╣реИ ....
рдХреБрдЫ рдФрд░ рджреЗрдЦрдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдмреАрдорд╛рд░ рд░рд┐рдкреЛрд░реНрдЯ рд╡рд╛рдкрд╕ред рдореИрдВ рдПрдХ рд▓рд╛рдЗрди рдмреНрд░реЗрдХ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реБрдЖ рдФрд░ рдлрд┐рд░
рдореИрдВ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмреЗрд╣рддрд░ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдЦреЛрд▓реВрдВрдЧрд╛ред рдореБрдЭреЗ рд░рд┐рдХреНрдд рдкрдВрдХреНрддрд┐ рдХрд╛ рд╕реНрд░реЛрдд рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ
рдореИрдВ рдПрдХ рд╣реА рдореБрджреНрджреЗ рд╕реЗ рдорд┐рд▓рд╛ред рдореИрдВрдиреЗ рджреНрд╡рд╛рд░рд╛ рддрдп рдХрд┐рдпрд╛
$filename = 'meal_list_'.date('YmdHis').'.xlsx';
Excel::store(new MealExport($request), $filename, 'public');
return redirect( Storage::url("storage/{$filename}" ));
}
рд╣реЗрд▓реЛ рд╕рдм рд▓реЛрдЧ,
рдореИрдВ рдЗрд╕ рдмреЗрдХрд╛рд░ рдбрд╛рдЙрдирд▓реЛрдб рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рджрд┐рди рдмрд┐рддрд╛рддрд╛ рд╣реВрдВред PHPSpreadSheet PHP рдмрдлрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рдФрд░ рдЖрдкрдХреЗ PHP рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреБрдЫ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рдпрд╛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░ рд╕рдХрддреА рд╣реИрдВред
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:
// in controller
ob_end_clean(); // this
ob_start(); // and this
return Excel::download(new MyExport, 'file.xls');
рдореЗрд░реЗ рд▓рд┐рдП рд╣рд▓ рдХрд░рддрд╛ рд╣реИред
рд╢рд╛рдпрдж рдпрд╣ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред
рдЗрд╕ рд╢рд╛рдирджрд╛рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рд╣реЗрд▓реЛ рд╕рдм рд▓реЛрдЧ,
рдореИрдВ рдЗрд╕ рдмреЗрдХрд╛рд░ рдбрд╛рдЙрдирд▓реЛрдб рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рджрд┐рди рдмрд┐рддрд╛рддрд╛ рд╣реВрдВред PHPSpreadSheet PHP рдмрдлрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рдФрд░ рдЖрдкрдХреЗ PHP рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреБрдЫ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рдпрд╛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░ рд╕рдХрддреА рд╣реИрдВред
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:
// in controller ob_end_clean(); // this ob_start(); // and this return Excel::download(new MyExport, 'file.xls');
рдореЗрд░реЗ рд▓рд┐рдП рд╣рд▓ рдХрд░рддрд╛ рд╣реИред
рд╢рд╛рдпрдж рдпрд╣ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПредрдЗрд╕ рд╢рд╛рдирджрд╛рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдЗрд╕рдХрд╛ рд╕рдЯреАрдХ рдЙрддреНрддрд░ рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж
рд╣реЗрд▓реЛ рд╕рдм рд▓реЛрдЧ,
рдпрд╣ рд╕рдорд╛рдзрд╛рди:
ob_end_clean(); // this
ob_start(); // and this
return Excel::download(new MyExport, 'file.xls');
рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рднреНрд░рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрднреА рднреА Xlsx/Xls рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрдпрд╛рдд рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:
рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рд╡рд┐рдЪрд╛рд░ ?
рдзрдиреНрдпрд╡рд╛рдж !
рд╣реЗрд▓реЛ рд╕рдм рд▓реЛрдЧ,
рдореИрдВ рдЗрд╕ рдмреЗрдХрд╛рд░ рдбрд╛рдЙрдирд▓реЛрдб рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рджрд┐рди рдмрд┐рддрд╛рддрд╛ рд╣реВрдВред PHPSpreadSheet PHP рдмрдлрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рдФрд░ рдЖрдкрдХреЗ PHP рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреБрдЫ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рдпрд╛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░ рд╕рдХрддреА рд╣реИрдВред
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:
// in controller ob_end_clean(); // this ob_start(); // and this return Excel::download(new MyExport, 'file.xls');
рдореЗрд░реЗ рд▓рд┐рдП рд╣рд▓ рдХрд░рддрд╛ рд╣реИред
рд╢рд╛рдпрдж рдпрд╣ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПредрдЗрд╕ рд╢рд╛рдирджрд╛рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рд▓рд╡ рдпреВ рдпрд╛рд░.. рддреБрдордиреЗ рдореЗрд░рд╛ рд╕рд┐рд░ рдмрдЪрд╛ рд▓рд┐рдпрд╛...
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА PhpSpreadsheet рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди PHPExcel рдХреЛ
<?php
рдЦреБрд▓реЗ рдЯреИрдЧ рдХреЗ рд╕рд╛рдордиреЗ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди () рд╣реЛрдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдереАред рдЬреЛ рдЕрддреАрдд рдореЗрдВ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рдерд╛ред
рдирдорд╕реНрддреЗ @patrickbrouwers
рдЖрдкрдХреЗ рдХрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдореЗрд░реЗ рд▓рд┐рдП рд╣рд▓ рдХрд░рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЬрд╛рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ,
рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ AJAX рдЕрдиреБрд░реЛрдз рдореЗрдВ responseType: 'blob'
рдЬреЛрдбрд╝реЗрдВ (рдореИрдВ axios рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ)
рдореЗрд░рд╛ рдЙрджрд╛рд╣рд░рдг рдХреЛрдб:
axios.post('/path/to/export', data, {
responseType: 'blob',
})
.then(response => {
const filename = 'file.xlsx';
let blob = new Blob([response.data], {
type: 'application/octet-stream',
});
if (typeof window.navigator.msSaveBlob !== 'undefined') {
// IE workaround for "HTML7007: One or more blob URLs were
// revoked by closing the blob for which they were created.
// These URLs will no longer resolve as the data backing
// the URL has been freed."
window.navigator.msSaveBlob(blob, filename);
} else {
let blobURL = window.URL.createObjectURL(blob);
let tempLink = document.createElement('a');
tempLink.style.display = 'none';
tempLink.href = blobURL;
tempLink.download = filename;
tempLink.click();
window.URL.revokeObjectURL(blobURL);
}
})
responseType: 'blob'
рдмрд┐рдирд╛, рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдЦреБрд▓реА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА
рдпрджрд┐ рдЖрдк рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЬрд╛рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ,
рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ AJAX рдЕрдиреБрд░реЛрдз рдореЗрдВresponseType: 'blob'
рдЬреЛрдбрд╝реЗрдВ (рдореИрдВ axios рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ)рдореЗрд░рд╛ рдЙрджрд╛рд╣рд░рдг рдХреЛрдб:
axios.post('/path/to/export', data, { responseType: 'blob', }) .then(response => { const filename = 'file.xlsx'; let blob = new Blob([response.data], { type: 'application/octet-stream', }); if (typeof window.navigator.msSaveBlob !== 'undefined') { // IE workaround for "HTML7007: One or more blob URLs were // revoked by closing the blob for which they were created. // These URLs will no longer resolve as the data backing // the URL has been freed." window.navigator.msSaveBlob(blob, filename); } else { let blobURL = window.URL.createObjectURL(blob); let tempLink = document.createElement('a'); tempLink.style.display = 'none'; tempLink.href = blobURL; tempLink.download = filename; tempLink.click(); window.URL.revokeObjectURL(blobURL); } })
responseType: 'blob'
рдмрд┐рдирд╛, рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдЦреБрд▓реА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА
рдзрдиреНрдпрд╡рд╛рдж!! рдореЗрд░реЗ рдЬреАрд╡рди рдХреЛ рдмрдЪрд╛рдУ, рдореИрдВ рджреЗрдЦрддрд╛ рд░рд╣рддрд╛ рд╣реВрдВ рдХрд┐ PHP рдХреЛрдб рдХреА рдХреМрди рд╕реА рдкрдВрдХреНрддрд┐ рдореЗрд░реА рдирд┐рд░реНрдпрд╛рдд рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдХреЛ рджреВрд╖рд┐рдд рдХрд░рддреА рд╣реИ .. рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдирд╛ axios рд╣реИ
рд╣реЗрд▓реЛ рд╕рдм рд▓реЛрдЧ,
рдореИрдВ рдЗрд╕ рдмреЗрдХрд╛рд░ рдбрд╛рдЙрдирд▓реЛрдб рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рджрд┐рди рдмрд┐рддрд╛рддрд╛ рд╣реВрдВред PHPSpreadSheet PHP рдмрдлрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рдФрд░ рдЖрдкрдХреЗ PHP рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреБрдЫ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рдпрд╛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░ рд╕рдХрддреА рд╣реИрдВред
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:
// in controller ob_end_clean(); // this ob_start(); // and this return Excel::download(new MyExport, 'file.xls');
рдореЗрд░реЗ рд▓рд┐рдП рд╣рд▓ рдХрд░рддрд╛ рд╣реИред
рд╢рд╛рдпрдж рдпрд╣ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПредрдЗрд╕ рд╢рд╛рдирджрд╛рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдзрдиреНрдпрд╡рд╛рдж @Leenzuur , рдЖрдкрдиреЗ рдореЗрд░рд╛ рджрд┐рди рдмрдЪрд╛рдпрд╛! рдЗрд╕рдиреЗ рдХрд╛рдо рдХрд░ рджрд┐рдпрд╛! рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╣реИ рд▓реЗрдХрд┐рди @Leenzuur рд░рд╛рд╕реНрддрд╛, рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдореЗрд░рд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ, рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ 10 рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП 10 рдирд┐рд░реНрдпрд╛рдд рд╡рд░реНрдЧ рд╣реИ, рддреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╕рдордп, рдореБрдЭреЗ 10 рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред
рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЖрдЬ рдореЗрд░реЗ рд╕рд╛рде рд╣реЛрдиреЗ рд▓рдЧреА рдФрд░ рдХрд┐рд╕реА рднреА рдирд┐рд░реНрдпрд╛рдд рдореЗрдВ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рд╣реБрдЖред рдШрдВрдЯреЛрдВ рдХреЗ рд╢реЛрдз рдХреЗ рдмрд╛рдж @leenzuur рдХреЛрдб рдирдореВрдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рд╣реЗрд▓реЛ рд╕рдм рд▓реЛрдЧ,
рдореИрдВ рдЗрд╕ рдмреЗрдХрд╛рд░ рдбрд╛рдЙрдирд▓реЛрдб рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рджрд┐рди рдмрд┐рддрд╛рддрд╛ рд╣реВрдВред PHPSpreadSheet PHP рдмрдлрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рдФрд░ рдЖрдкрдХреЗ PHP рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреБрдЫ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рдпрд╛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░ рд╕рдХрддреА рд╣реИрдВред
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:
рдореЗрд░реЗ рд▓рд┐рдП рд╣рд▓ рдХрд░рддрд╛ рд╣реИред
рд╢рд╛рдпрдж рдпрд╣ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред
рдЗрд╕ рд╢рд╛рдирджрд╛рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред