2016-03-01 6 views
0

Я нашел эту большую библиотеку jQuery под названием «DataTables», и я бы хотел использовать экспорт для кнопки excel. Это их файл-экспорт Предварительный просмотр страницы: https://datatables.net/extensions/buttons/examples/initialisation/export.htmlЭкспорт таблицы html в excel с 'Datatables'

Я попробовал все в руководстве, но я не знаю, почему он не будет работать.

Журнал консоли говорит:

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

Это может быть ошибка в самой библиотеке? Я использую версию 1.1.2. Я попробовал добавить не-уменьшенную версию. Это происходит на этот кусок кода в расширении Кнопки:

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

На предыдущей последней строке, где говорит this.movie.setSheetName(newText); он говорит, что «setSheetName» не является функцией ...

Он работает на примерах/initialisation/export.html, включенных в папку Buttons. Я даже попытался отключить все другие скрипты на странице, но это все равно не сработает ........ Только если я заменил содержимое всей страницы содержимым страницы примера, которое она работает. Я не уверен, как искать то, что противоречит кодексу.

Любые идеи о том, где и как искать причину ошибки?

Я добавил правильные зависимостей:

//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> 

Есть идеи?

+0

Может ли мы увидеть код для того, как вы строите таблицу (HTML и JS)? – jonmrich

+0

Да! Я только что обновил вопрос. Спасибо! Есть ли у вас опыт работы с DataTables? BTW, PHP дает хорошую таблицу, она отображается правильно, и DataTable запускается, только я просто не могу использовать кнопку «экспортировать в excel» ... Это дает мне ошибку, когда я нажимаю «excel», – mesqueeb

ответ

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 
Смежные вопросы