我正在使用Buttons扩展在jQuery DataTables上实现导出按钮。我将所有按钮都工作,除了导出到Excel按钮。
包括以下所有脚本:
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/datatables/media/js/jquery.dataTables.js"></script>
<script src="bower_components/datatables/media/js/dataTables.bootstrap.js"></script>
<script src="bower_components/datatables-buttons/js/dataTables.buttons.js"></script>
<script src="bower_components/datatables-buttons/js/buttons.html5.js"></script>
<script src="bower_components/datatables-buttons/js/buttons.print.js"></script>
<script src="bower_components/datatables-buttons/js/buttons.bootstrap.js"></script>
<script src="bower_components/jszip/dist/jszip.js"></script>
<script src="bower_components/pdfmake/build/pdfmake.js"></script>
<script src="bower_components/pdfmake/build/vfs_fonts.js"></script>
然后我创建按钮并将它们附加到div:
// Create and render buttons
new $.fn.dataTable.Buttons( table, {
buttons: ['copyHtml5', 'csvHtml5', 'excelHtml5', 'pdfHtml5', 'print']
})
table.buttons().container().appendTo($('.header-right'), self);
单击Excel按钮时,我的应用程序会下载xlsx.zip文件。为什么不下载“.xlsx”文件?
我也尝试通过手动添加扩展来扩展按钮,但是我设置的扩展属性最终为“extension-name.zip”。
new $.fn.dataTable.Buttons( table, {
buttons: [
{
extend: 'excelHtml5',
extension: '.xlsx'
}
]
})
答案 0 :(得分:6)
设置Title属性对我有用。
以下.xlsx文件扩展名
导出 buttons: [{
extend: 'excelHtml5',
title: ''
}
],.....etc
未设置标题时,文件以.zip文件扩展名
导出map
答案 1 :(得分:5)
我也有同样的问题....但我认为这与浏览器有关。
答案 2 :(得分:3)
我也有同样的问题。与Chrome完美配合,但不适用于Mozila Firefox .....
经过这么多的努力和研究,终于来了。我找到了解决方案。请在datatable js文件之后在脚本中包含以下文件。 //cdn.datatables.net/buttons/1.1.2/js/buttons.html5.min.js
它和我一起工作。