Safari中使用数据表的Excel按钮问题

时间:2016-09-29 11:16:34

标签: javascript jquery excel datatables laravel-5.2

我遇到了关于我的按钮的问题,该按钮允许将数据导出到.xlsx文件。它适用于Edge,Mozilla和Chrome,但如果我在iphone或Macbook上尝试 Safari ,那么按钮就会丢失并且不可见。

我真的需要帮助,因为找不到合适的解决方案。数据导出应完全适用于Safari,Mozilla,Edge,Chrome。

也许有人遇到类似问题? 我的代码:

$(document).ready(function() {
var table = $('#tableOrders').DataTable( {
    "bFilter" : true,               
    "bLengthChange": true,
    "paging":   true,
    "ordering": true,
    "order": [[ @if ($user->role=='super_admin') 7 @else 6 @endif, "desc" ]],
    "info":true,
    dom: 'lBfrtip',
    lengthMenu: [
        [ 10, 25, 50, -1 ],
        [ '10', '25', '50', 'Show all' ]
    ],
    buttons: [
        {
            extend: 'copyHtml5',
            text: '<b>Copy all</b>',
            exportOptions: {
                columns: [@if($user->role=='super_admin') 0, 1, 2, 3, 4, 5, 6 @else 0, 1, 2, 3, 4 @endif]
            }
        },
        {
            extend: 'excelHtml5',
            text: 'Export all to <b>Excel</b>',
            exportOptions: {
                columns: [@if($user->role=='super_admin') 0, 1, 2, 3, 4, 5, 6 @else 0, 1, 2, 3, 4 @endif]
            }
        },
    ]
} );

});

3 个答案:

答案 0 :(得分:1)

Safari中不支持

Name Chrom Position rs1 1 1234 rs2 1 1789 rs3 1 1289 rs11269 1 1269 rs11897 1 1897 按钮。关于它的文档中有一个注释(https://datatables.net/reference/button/excelHtml5):

  

Safari:否

     

Safari目前不支持下载生成文件的功能(请参阅WebKit错误156056)。只要在Safari中解决了这个问题,就会在这里发布。

尝试在Safari中打开他们的演示:https://datatables.net/extensions/buttons/examples/initialisation/export.html您在Safari中看不到Excel按钮。

此外,根据论坛讨论(https://datatables.net/forums/discussion/30444/datatables-built-in-buttons-not-working-with-safari-browser),csv按钮在Safari中的支持有限。将打开包含生成的csv的新选项卡。在演示页面上试一试。

答案 1 :(得分:0)

面临同样的问题,如上所述,它不受支持。但是如果你想保持浏览器之间的完整性,你可以通过用户代理验证safari并将字符串传递给变量。因为CSV适用于Safari。

grunt.loadNpmTasks('');

然后你延伸:

 var xls; // variable csv ó excel
    (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) ? xls = 'csv' : xls = 'excel'; //verify

答案 2 :(得分:0)

Datatables.Buttons的最新版本可在Safari中使用。