首页 文章

dataTables导出到Excel按钮未显示

提问于
浏览
15

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

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

9 回答

  • 12

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

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

    jszip.js
    buttons.html5.js
    

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

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

  • 15

    你应该参考 ★html5 版本

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

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

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

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

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

    <link rel="stylesheet" href="//cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css">
    <script src="//cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
    

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

    <link rel="stylesheet" href="https://cdn.datatables.net/buttons/1.4.1/css/buttons.dataTables.min.css">
    <script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.4.1/js/dataTables.buttons.min.js"></script>
    <script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.4.1/js/buttons.flash.min.js"></script>
    <script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.4.1/js/buttons.html5.min.js"></script>
    <script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/1.4.1/js/buttons.print.min.js"></script>
    
  • 3

    对我来说,我在表定义中缺少 dom: 'Bfrtip', 属性 .

  • 5

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

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

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

    单击Flash>

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

  • 0

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

    <script type="text/javascript" src="https://cdn.datatables.net/buttons/1.3.1/js/dataTables.buttons.min.js"></script> 
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
    <script type="text/javascript" src="https://cdn.datatables.net/buttons/1.3.1/js/buttons.html5.min.js"></script>
    

    干杯!

  • 7

    我知道这是超级旧的但是因为我使用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;
    

    希望它有助于干杯

  • 1

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

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

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

  • 2

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

相关问题