将html表格导出为“数据表格”&{39;

时间:2016-03-01 10:52:27

标签: excel datatables export html-table

我找到了这个名为' DataTables'我想使用export to excel按钮。 这是他们的文件导出预览页面: https://datatables.net/extensions/buttons/examples/initialisation/export.html

我尝试了指南中的所有内容,但我不确定它为什么不能工作。

控制台日志显示:

Uncaught TypeError: this.movie.setSheetName is not a function

这可能是图书馆本身的一个错误吗? 我使用的是版本1.1.2。 我尝试添加非缩小版本。 它发生在Buttons扩展中的这段代码中:

setSheetName: function(newText) {
    // set sheet name, for excel
    this.sheetName = newText;
    if (this.ready) {
        this.movie.setSheetName(newText);
    }
},

在前一行显示this.movie.setSheetName(newText);的位置,它表示" setSheetName"不是一个功能......

它适用于Buttons文件夹中包含的examples / initialisation / export.html。 我甚至尝试禁用页面上的所有其他脚本,但它仍然无法工作........只有当我用示例页面内容替换整个页面内容时才有效。 我不确定如何查找与代码冲突的内容。

有关在何处或如何搜索导致错误的内容的任何想法?

我添加了正确的依赖关系:

//CSS:
<link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/frameworks/DataTables-1.10.11/media/css/jquery.dataTables.css">
<link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/frameworks/DataTables-1.10.11/extensions/Buttons/css/buttons.jqueryui.css">
//JS:
<script src="<?php bloginfo('template_url'); ?>/frameworks/DataTables-1.10.11/media/js/jquery.dataTables.min.js"></script>
<script src="<?php bloginfo('template_url'); ?>/frameworks/DataTables-1.10.11/extensions/Buttons/js/dataTables.buttons.min.js"></script>

    <script src="<?php bloginfo('template_url'); ?>/frameworks/DataTables-1.10.11/extensions/Buttons/js/buttons.flash.min.js"></script>
    <script src="<?php bloginfo('template_url'); ?>/frameworks/DataTables-1.10.11/extensions/Buttons/js/buttons.html5.min.js"></script>

这是生成我的表并启动DataTable的代码:

<script>
$( document ).ready(function() {
    $('#table2excel').DataTable({
        dom: 'frtipB',
        buttons:['excel']
    });
});
</script>

<table id="table2excel">
    <thead>
    <tr>
        <th>

        </th>
    </tr>
    </thead>
    <tbody>
<?
foreach($allluca01 as $results){
    $resultid = $results->ID;
    ?>
<tr>
    <td>
        <? echo get_the_title($resultid); ?>
    </td>
</tr>


<?
}
?>
</tbody>
</table>

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

真正的原因可能是因为它需要以下依赖关系,即使它没有明确记录...... 将这些添加到头部脚本:

//cdnjs.cloudflare.com/ajax/libs/jszip/2.5.0/jszip.min.js
//cdn.rawgit.com/bpampuch/pdfmake/0.1.18/build/pdfmake.min.js
//cdn.rawgit.com/bpampuch/pdfmake/0.1.18/build/vfs_fonts.js