DataTables导出到Excel下载zip文件
我正在使用Buttons扩展在jQuery DataTables上实现导出按钮。 我有所有按钮工作,除了导出到Excel按钮。
包括以下所有脚本:
然后我创建按钮并将它们附加到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' } ] })
设置Title属性对我有用。
以下.xlsx文件扩展名导出
buttons: [{ extend: 'excelHtml5', title: 'Location Report' } ],.....etc
未设置标题时,文件以.zip文件扩展名导出
buttons: [{ extend: 'excelHtml5', title: '' } ],.....etc
我也有同样的问题….但我认为它与浏览器有关。
- 在Mozilla Firefox中单击Excel导出时,它会询问您是要打开还是保存文件。 当您单击“打开”时,它会以zip格式临时保存文件并打开zip文件(实际上是.xlsx文件)。
- 如果你将扩展名从zip更改为xlsx,那么你很高兴。
- 单击“保存”时,它将仅保存.xlsx文件。
- 在Chrome中,它直接将文件保存为.xlsx。
我也有同样的问题。 与Chrome完美配合,但不适用于Mozila Firefox …..
经过这么多的努力和研究终于来了。 我找到了解决方案。
请在datatable js文件之后在脚本中包含以下文件。 //cdn.datatables.net/buttons/1.1.2/js/buttons.html5.min.js
它正在和我合作。