excelHtml5 按钮不显示

excelHtml5 button not showing up

我在 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;

这就是我初始化 DataTable 的方式:

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

这是我能得到的最多的,excel 根本没有出现:

我做错了什么,我可以更改什么来修复它?

提前致谢。

{
   extend: 'excelHtml5',
   autoFilter: true,
   sheetName: 'Exported data'
}

找到基于这个的解决方案:NPM Datatable Excel button not showing

它正在改变这个:

import jszip from 'jszip';
//
window.jszip = jszip;

对此:

import JSZip from 'jszip';
//
window.JSZip = JSZip;

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