Как экспортировать данные Excel с диапазоном дат в Laravel? - PullRequest
0 голосов
/ 07 октября 2019

С помощью этого кода я могу искать данные с диапазоном дат, и он отображается в файле представления с общим числом. Теперь я хочу экспортировать данные с диапазоном дат, используя пакет Maatwebsite / Laravel-Excel (из запроса) или любой другой хороший метод.

Может кто-нибудь помочь мне с этим?

Blade View

<div class="panel-heading">
    <div class="row">
        <div class="col-md-5">Total Records - <b><span id="total_records"></span></b></div>
        <div class="col-md-5">
            <div class="input-group input-daterange">
                <input type="text" name="from_date" id="from_date" readonly class="form-control" />
                <div class="input-group-addon">to</div>
                <input type="text" name="to_date" id="to_date" readonly class="form-control" />
            </div>
        </div>
        <div class="col-md-2">
            <button type="button" name="filter" id="filter" class="btn btn-info btn-sm">Filter</button>
            <button type="button" name="refresh" id="refresh" class="btn btn-warning btn-sm">Refresh</button>
        </div>
    </div>
</div>

<table class="table table-striped table-bordered">
    <thead>
        <tr>
            <th width="6%">Owner Manager</th>
            <th width="6%">CSR Name</th>
            <th width="6%">CSR EID</th>
        </tr>
    </thead>
</table>

JQuery Code

$(document).ready(function () {
    var date = new Date();

    $('.input-daterange').datepicker({
        todayBtn: 'linked',
        format: 'yyyy-mm-dd',
        autoclose: true
    });

    var _token = $('input[name="_token"]').val();

    fetch_data();

    function fetch_data(from_date = '', to_date = '') {
        $.ajax({
            url: "{{ route('dr.fetch_data') }}",
            method: "POST",
            data: {
                from_date: from_date,
                to_date: to_date,
                _token: _token
            },
            dataType: "json",
            success: function (data) {
                var output = '';
                $('#total_records').text(data.length);
                for (var count = 0; count < data.length; count++) {
                    output += '<tr>';
                    output += '<td>' + data[count].owner_manager + '</td>';
                    output += '<td>' + data[count].csr_name + '</td>';
                    output += '<td>' + data[count].csr_eid + '</td>';
                }
                $('tbody').html(output);
            }
        })
    }

    $('#filter').click(function () {
        var from_date = $('#from_date').val();
        var to_date = $('#to_date').val();
        if (from_date != '' && to_date != '') {
            fetch_data(from_date, to_date);
        } else {
            alert('Both Date is required');
        }
    });

    $('#refresh').click(function () {
        $('#from_date').val('');
        $('#to_date').val('');
        fetch_data();
    });
});

Controller Code

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Http\Controllers\Controller;

class DRController extends Controller
{
    function index()
    {
        return view('dr');
    }

    function fetch_data(Request $request)
    {
        if ($request->ajax()) {
            if ($request->from_date != '' && $request->to_date != '') {
                $data = DB::table('users_info')->whereBetween('ptdate', array($request->from_date, $request->to_date))->get();
            } else {
                $data = DB::table('users_info')->orderBy('ptdate', 'desc')->get();
            }
            echo json_encode($data);
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...