簡體   English   中英

為什么當 Laravel 中的月份為兩位數時,當導出為 EXCEL 文件時,jQuery 數據表無法正確導出日期?

[英]Why jQuery data table does not export date correctly when month is two digit in Laravel when export as EXCEL file?

我想將導出數據導出為EXCEL文件,正如視圖中所示,它可以工作,但沒有正確導出日期,我嘗試如下:

 $('#get_hourly_report').click(function () {

        var id = $('#teacher').val();
        var first_date = $('#jalali-datepicker3').val();
        var second_date = $('#jalali-datepicker4').val();
        $(".h_report_icon").addClass('fa fa-spinner fa-spin');
        $.ajax({
            method: "get",
            url: "attendance/getTeacherAttendanceReport/",
            data: {
                'id': id,
                'f_date': first_date,
                's_date': second_date
            },
            success: function (data) {
                $.fn.dataTable.moment('DD/MM/YYYY');
                table = $('#example2').DataTable({

                    destroy: true,
                    "bPaginate": false,
                    dom: 'Bfrtip',
                    bFilter: false,
                    buttons: [
                        {
                            extend: 'excelHtml5',
                            footer: true,
                            customize: (xlsx, config, dataTable) => {
                                let sheet = xlsx.xl.worksheets['sheet1.xml'];
                                let footerIndex = $('sheetData row', sheet).length;
                                let $footerRows = $('tr', dataTable.footer());

                                // If there are more than one footer rows
                                if ($footerRows.length > 1) {
                                    // First header row is already present, so we start from the second row (i = 1)
                                    for (let i = 1; i < $footerRows.length; i++) {
                                        // Get the current footer row
                                        let $footerRow = $footerRows[i];

                                        // Get footer row columns
                                        let $footerRowCols = $('th', $footerRow);

                                        // Increment the last row index
                                        footerIndex++;

                                        // Create the new header row XML using footerIndex and append it at sheetData
                                        $('sheetData', sheet).append(`
                                                    <row r="${footerIndex}">
                                                      ${$footerRowCols.map((index, el) => `
                                                        <c t="inlineStr" r="${String.fromCharCode(65 + index)}${footerIndex}" s="2">
                                                          <is>
                                                            <t xml:space="preserve">${$(el).text()}</t>
                                                          </is>
                                                        </c>
                                                      `).get().join('')}
                                                    </row>
                                                  `);
                                    }
                                }
                            }
                        }
                    ],
                    "processing": true,
                    data: data.teacherAttendanceReport,
                    columns: [
                        {
                            title: 'شماره', render: function (data, type, row, meta) {
                                return meta.row + meta.settings._iDisplayStart + 1;
                            }
                        },
                        {title: 'نام کارمند', data: 'first_name'},
                        {title: 'روز هفته', data: 'persian_name'},
                        {title: 'ماه', data: 'month_name'},
                        {title: 'تاریخ مکمل', data: 'date'},
                        {title: 'ساعت درسی', data: 'full_time'},
                        {title: 'حالت حاضری', data: 'as_persian_name'},

                    ],


                });
                $(".h_report_icon").removeClass('fa fa-spinner fa-spin');
                $('#h_present').html(data.present)
                $('#h_absent').html(data.absent)


            },
            error: function () {

            }
        });
    });

當我將導出作為EXCEL文件時,如果日期類似於1400-2-15 ,則結果符合預期。 但如果日期像1400-02-13那么它會像######一樣導出。

我希望它像1400-02-13一樣,如果有人知道問題出在哪里,請幫助我!

在 HTML 頭中插入 utf-8 元標記:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

或者

<meta charset="utf-8">

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM