我遇到了关于我的按钮的问题,该按钮允许将数据导出到.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]
}
},
]
} );
});
答案 0 :(得分:1)
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中使用。