ExportUser.php
<?php
namespace App\Exports;
use Maatwebsite\Excel\Concerns\FromCollection;
use App\Models\User;
use App\Models\User;
use Carbon\Carbon;
use Carbon\CarbonPeriod;
use Illuminate\Support\Facades\DB;
class ExportUser implements FromCollection
{
public $start_date, $end_date;
public function __construct($start_date = null, $end_date = null)
{
$this->start_date = $start_date;
$this->end_date = $end_date;
}
public function collection()
{
$date = $this->start_date;
$user = User::select('fname', 'lname', 'phone_number')
->where(DB::raw("DATE(created_at)"),$date)->get();
return collect($user);
}
}
//ExportController---
<?php
namespace App\Http\Controllers\Admin;
use App\Exports\ExportUser;
use App\Http\Controllers\Controller;
use App\Models\User;
use Carbon\Carbon;
use Carbon\CarbonPeriod;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Excel;
use Illuminate\Support\Facades\Storage;
class ExportController extends Controller
{
public function excel(Request $request)
{
if ($request->ajax()) {
$fileName = Carbon::now();
$file = Excel::raw(new ExportUser($request->start_date,
$request->end_date), \Maatwebsite\Excel\Excel::XLSX);
$data = [
"name" => "$fileName.xlsx",
'file' => "data:application/vnd.ms-excel;base64,".base64_encode($file)
];
return response()->json($data);
}
}
}
//javascript
$.ajax({
type: 'get',
url: ExportExcelUrl,
data: date_data,
beforeSend: function () {
},
success: function (result, status, xhr) {
var a = document.createElement("a");
a.href = result.file;
a.download = result.name;
document.body.appendChild(a);
a.click();
a.remove();
}
})
Comments
Post a Comment
If you any doubt of any topic then you can comment me.