Joh*_*ley 4 javascript jquery datatables
尝试使用我在另一个应用程序中使用的相同代码创建 Excel 导出按钮。
不幸的是,我收到以下错误:
Uncaught Cannot extend unknown button type: excelHtml5
Run Code Online (Sandbox Code Playgroud)
以下是在数据表上方生成按钮的代码部分:
"dom": 'Bfrtip',
"buttons": [
{
text: '<i class="fa fa-search"></i> Search All',
className: 'searchAll btn btn-success btn-sm',
action: function (e, dt, node, config)
{
$('#searchAllModal').modal('show');
}
},
{
extend: 'excelHtml5', /*** here is the problem ***/
title: 'Matchback Rail Export Results',
text: '<i class="fa fa-download"></i> Export Results',
className: 'btn btn-secondary btn-sm',
customize: function( xlsx )
{
var sheet = xlsx.xl.worksheets['sheet1.xml'];
$('row c[r^="A"]', sheet).attr( 's', '2' );
},
exportOptions:
{
columns: [1,2,3,4,5,6,7,8,9,10]
}
},
{
extend: 'colvis',
text: '<i class="fa fa-toggle-on"></i> Toggle Columns',
className: 'btn btn-secondary btn-sm'
}
]
Run Code Online (Sandbox Code Playgroud)
该页面不喜欢代码的“extend: 'excelHtml5'”部分。“extend: 'colvis'”部分没有问题。
我检查了我正在使用的库:
<script src="https://cdn.datatables.net/buttons/1.5.2/js/dataTables.buttons.min.js" type="text/javascript"></script>
<script src="https://cdn.datatables.net/buttons/1.5.2/js/buttons.colVis.min.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
创建问题后,我得到的第一个建议是:
“未捕获无法扩展未知按钮类型:copyHtml5” - 如何使用 `datatables.net-buttons-bs4`
但这个问题似乎是指 .net 平台。
我缺少什么可以帮助消除此错误?
* 更新 *
我将数据表按钮库从 1.5.2 更新到 1.5.1。此外,我还缺少以下要求:
<script src="https://cdn.datatables.net/buttons/1.5.1/js/dataTables.buttons.min.js"></script>
<script src="https://cdn.datatables.net/buttons/1.5.1/js/buttons.flash.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/vfs_fonts.js"></script>
<script src="https://cdn.datatables.net/buttons/1.5.1/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/buttons/1.5.1/js/buttons.print.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
这解决了我的问题。