excelHtml5按钮不显示

San*_*ngo 2 javascript jquery laravel datatables-1.10 vuejs2

我在 Laravel-Vue 项目中使用最新的 DataTables-bs4 和 Buttons-bs4 版本(分别为 1.10.19 和 1.5.4),并且导出到 excel 按钮未显示,CSV 和 PDF 按预期工作

这就是我在 bootstrap.js 文件中导入所有必要依赖项的方式:

import jszip from 'jszip';
import datatable_responsive_bs4 from 'datatables.net-responsive-bs4';
import datatable_buttons_bs4 from 'datatables.net-buttons-bs4';
import datatable_buttons_html5 from 'datatables.net-buttons/js/buttons.html5';
/*
* other code over here
*
*
*/
window.jszip = jszip;
window.datatable_responsive_bs4 = datatable_responsive_bs4;
window.datatable_buttons_bs4 = datatable_buttons_bs4;
window.datatable_buttons_html5 = datatable_buttons_html5;
window.pdfmake = require('pdfmake/build/pdfmake.js');
window.vfs_fonts = require('pdfmake/build/vfs_fonts.js');
window.pdfmake.vfs = window.vfs_fonts.pdfMake.vfs;
Run Code Online (Sandbox Code Playgroud)

这就是我初始化数据表的方式:

$('#table').DataTable({
    dom: 'Bfrtip',
    responsive: true,
    buttons: [
        'excelHtml5',
        'csvHtml5',
        {
            extend: 'pdfHtml5',
            orientation: 'landscape',
            pageSize: 'LEGAL'
        }
    ],
    order: [[1, 'desc']]
});
Run Code Online (Sandbox Code Playgroud)

这是我能得到的最多的信息,excel根本没有显示:

在此输入图像描述

我做错了什么以及我可以改变什么来解决它?

提前致谢。

San*_*ngo 6

找到了基于此的解决方案:NPM Datatable Excel button not displayed

它正在改变这一点:

import jszip from 'jszip';
//
window.jszip = jszip;
Run Code Online (Sandbox Code Playgroud)

对此:

import JSZip from 'jszip';
//
window.JSZip = JSZip;
Run Code Online (Sandbox Code Playgroud)

由于某种原因,库需要识别这个确切的变量名称。