dataTables导出到Excel按钮未显示

我在jquery dataTables中遇到了问题。 iPad和移动设备中未显示“导出到Excel”。 它在桌面上显示。 其他按钮如copy,csv和pdf在iPad和桌面上显示。 这是我的代码:

$('#productDatatable').DataTable({ dom: 'Bfrtip', buttons: [ 'copy', 'excel', 'pdf', 'csv' ] } ); 

好的,所以我遇到了同样的问题(Excel按钮没有显示其他按钮时),看来你必须按照特定的顺序包含你的JavaScript文件,否则它将无法正常工作。

对我来说问题是我在jszip.js之前包含buttons.html5.js,但你必须按顺序放置它们:

 jszip.js buttons.html5.js 

而且你还必须将这两个文件放在DataTablesDataTables.buttons文件之后

我发现有问题的是,如果你按错误的顺序排列它们,浏览器控制台中就不会显示任何JavaScript错误。

你应该参考★html5版本

 $('#productDatatable').DataTable({ dom: 'Bfrtip', buttons: [ 'copyHtml5', 'excelHtml5', 'pdfHtml5', 'csvHtml5' ] } ); 

原因 :当使用copyexcel等时,你实际上有参考flash实现的风险,这实际上应该只被视为后备。 从iPad和大多数智能手机上删除/禁用Flash,这就是Excel按钮不起作用的原因。 如果仍有问题,请确保已包含这些库文件

 jszip.min.js pdfmake.min.js vfs_fonts.js buttons.html5.min.js 

对我来说,我错过了我的表定义中的dom: 'Bfrtip',属性。

我有同样的问题,这不是因为jquery脚本。

转到浏览器设置(在我的情况下为chrome)>搜索Flash>

点击控制网站可以使用的信息>它将导航到内容设置(chrome:// settings / content?search = flash)>

单击Flash>

在允许栏中使用添加按钮添加您的网站

只需在数据表脚本之前添加这些引用。 这个对我有用。

为了生成数据表,请使用此 –

   

对于数据表按钮使用这些参考 –

      

如果有人在显示DataTable导出按钮时仍有问题,请按以下顺序尝试加载所需的JS库。

    

干杯!

我知道这是超级旧的但是因为我使用Webpack 4和Babel并且我正在导入文件(ES6),所以我必须在全局范围内放入jsZip:

 import 'datatables.net-bs'; import jsZip from 'jszip'; import 'datatables.net-buttons-bs'; import 'datatables.net-buttons/js/buttons.colVis.min'; import 'datatables.net-buttons/js/dataTables.buttons.min'; import 'datatables.net-buttons/js/buttons.flash.min'; import 'datatables.net-buttons/js/buttons.html5.min'; // This line was the one missing window.JSZip = jsZip; 

希望它有助于干杯

导出到Excel也不适用于Mac。 来自datatable的网站:“excelHtml5按钮在Safari中根本不起作用 – 正如按钮的文档中所述。这是因为Safari中未实现的function。”

请注意,即使您在Apple产品中使用Chrome,它仍会使用Safari的引擎,因此无法使用。

它可能会在将来修复,但现在我只添加了CSV按钮

我在Asp.NET MVC 4中遇到了同样的问题。问题是如果你在_layout页面中添加你的CDN / JS文件,那么按钮就不会显示在主视图页面中。 而是将这些CDN / JS文件添加到您用于数据表的页面中。 还要确保它们的顺序正确。

 jquery.min.js jszip.min.js pdfmake.min.js vfs_fonts.js buttons.html5.min.js