2016-06-22 8 views
1

j'ai utilisé plugins tableTools pour l'exportation des données DataTable, i ont inclus les plugins suivantsComment exporter dataTable au format Excel?

<script src="js/jquery-1.12.3.js"></script> 
<script src="js/bootstrap.min.js"></script> 
<script src="js/moment/moment.min.js" type="text/javascript"></script> 
<script src="js/jquery.dataTables.js" type="text/javascript"></script> 
<script src="js/dataTables.tableTools.js"></script> 

code HTML

<table id="result_table" class="display table table-bordered" cellspacing="0" width="100%"></table> 

et moi Initialisation,

var oTable = $('#result_table').dataTable({ 
      //"iDisplayLength": 50, 
      //"order" : [[0,"desc"]], 
      "columnDefs": [ 
       { "width": "16%", "targets": 1 } 
       ], 
      "lengthMenu": [[10, 50, 100, -1], [10, 50, 100, "All"]], 
      "dom": 'T<"clear">lfrtip', 
      "tableTools": { 
       "sSwfPath": "copy_csv_xls_pdf.swf" 
      } 
     }); 

mon résultat actuall est enter image description here

si je clique sur le bouton Excel mon enregistrer sous la fenêtre est

il a été enregistré fichier CSV pas comme format Xls ou Xlsx et aussi le bouton CSV et le bouton Excel sont tous les deux Exporter le format de fichier CSV seulement .. c'est le problème que je dois Exporter le format Excel .. pls partager votre suggestion ou solution

+2

avez-vous recherché correctement. allez voir le lien suivant: https://datatables.net/extensions/buttons/examples/html5/simple.html et https://datatables.net/extensions/buttons/examples/initialisation/export.html –

+1

De cette façon j'ai déjà essayé bro, mais maintenant j'ai utilisé le plugin tableTools il a également travaillé correctement par exemple le format pdf et le bouton de copie boutons csv tous fonctionnent correctement mais le bouton Excel n'exporte pas le format xls qui est le problème .. le lien de votre suggestion n'utilise pas le plugin tableTools –

+1

vous n'avez pas ajouté tous les js. veuillez ajouter les js suivants également //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, //cdn.datatables.net/buttons/1.2.1/js/buttons .html5.min.js –

Répondre

2

Utilisez cette approche

oTableTools: { 
    sSwfPath: "copy_csv_xls_pdf.swf", 
    aButtons: [ 
    { sExtends: "xls", 
     mColumns: 'visible', 
     sFileName: 'export.xls', 
     sToolTip: 'Save current table as XLS' 
    } 
    ] 
} 

Les choses importantes sont sExtends: "xls" et sFileName pour assurer un nom de fichier approprié attaché au fichier téléchargé.

Mais comme d'autres personnes mentionnent dans les commentaires, vous devriez vraiment envisager d'utiliser le plug-in buttons, voici une démo en utilisant cette ->https://jsfiddle.net/zm825k01/

+0

superbe monsieur Merci beaucoup .. j'ai un doute monsieur tableTools ne supporte pas le format xlsx? J'ai essayé le format xlsx mais cela dit format de fichier invalide –

+0

@BalakumarB, Non - Je n'ai pas peur. Tabletools xls est fondamentalement un css spécialisé; cependant le plugin de boutons supporte '.xlsx'. – davidkonrad

+0

Salut monsieur, comment ajouter un bouton personnalisé à tableTools monsieur comme format de fichier .docx je dois essayé ce script –

0

C'est ce que j'ai fait et cela a fonctionné pour moi. Dites-moi si cela vous aide.

<script src="/js/jquery-1.12.0.min.js"></script> 
<script src="/js/datatables/jquery.dataTables.min.js"></script> 
<script src="/js/datatables/dataTables.bootstrap.min.js"></script> 
<script src="/js/datatables/dataTables.buttons.min.js"></script> 
<script src="/js/datatables/buttons.bootstrap.min.js"></script> 
<script src="/js/datatables/jszip.min.js"></script> 
<script src="/js/datatables/pdfmake.min.js"></script> 
<script src="/js/datatables/vfs_fonts.js"></script> 
<script src="/js/datatables/buttons.html5.min.js"></script> 
<script src="/js/datatables/buttons.print.min.js"></script> 
<script src="/js/datatables/buttons.colVis.min.js"></script> 

var table = $('#example').DataTable({ 
       lengthChange: false, 
       buttons: [ 'copy', 'excel', 'pdf', 'colvis' ] 
      }); 
table.buttons().container().appendTo('#example_wrapper .col-sm-6:eq(0)');