代码之家  ›  专栏  ›  技术社区  ›  John Beasley

未捕获无法扩展未知按钮类型:ExcelHTML5

  •  1
  • John Beasley  · 技术社区  · 7 年前

    尝试使用我在其他应用程序中使用的相同代码创建Excel导出按钮。

    很遗憾,我收到以下错误:

    Uncaught Cannot extend unknown button type: excelHtml5
    

    下面是生成数据表上方按钮的代码部分:

    "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'
        }
    ]
    

    页面不喜欢代码的“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>
    

    在提出问题时,我得到的第一个建议是:

    "Uncaught Cannot extend unknown button type: copyHtml5" - How to use `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>
    

    这解决了我的问题。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Franchy    7 年前

    在这个里面 documentation 说它需要 Buttons 扩展和其他要求,您是否满足所有要求?