J'ai une table HTML dans un modèle de vitesse. Je veux exporter les données de la table html pour exceller en utilisant un script java ou jquery, comatibale avec tous les navigateurs. J'utilise le script ci-dessous
<script type="text/javascript">
function ExportToExcel(mytblId){
var htmltable= document.getElementById('my-table-id');
var html = htmltable.outerHTML;
window.open('data:application/vnd.ms-excel,' + encodeURIComponent(html));
}
</script>
Ce script fonctionne très bien dans Mozilla Firefox , il apparaît avec une boîte de dialogue d'Excel et demande des options d'ouverture ou d'enregistrement. Mais lorsque j'ai testé le même script dans le navigateur Chrome, il ne fonctionne pas comme prévu, lorsque vous cliquez sur le bouton, il n'y a pas de fenêtre contextuelle pour Excel. Les données sont téléchargées dans un fichier avec "type de fichier: fichier", sans extension comme .xls. Il n'y a pas d'erreurs dans la console Chrome.
Exemple Jsfiddle:
http://jsfiddle.net/insin/cmewv/
Cela fonctionne bien dans Mozilla mais pas dans Chrome.
Cas de test du navigateur Chrome:
Première image: je clique sur le bouton Exporter vers Excel
et résultat:
la source
Réponses:
Le script d'exportation Excel fonctionne sur IE7 +, Firefox et Chrome.
Créez simplement une iframe vierge:
Appelez cette fonction sur:
la source
Le plugin Datatable résout le mieux l'objectif et nous permet d'exporter les données de la table HTML dans Excel, PDF, TEXT. facilement configurable.
Veuillez trouver l'exemple complet dans le lien de référence datable ci-dessous:
https://datatables.net/extensions/buttons/examples/html5/simple.html
(capture d'écran du site de référence datable)
la source
Cela pourrait aider
la source
http://wsnippets.com/export-html-table-data-excel-sheet-using-jquery/ essayez ce lien, cela pourrait résoudre votre problème
la source
Au lieu d'utiliser,
window.open
vous pouvez utiliser un lien avec l'onclick
événement.Et vous pouvez mettre la table html dans l'URI et définir le nom du fichier à télécharger.
Démo en direct:
la source
TableExport - La bibliothèque simple et facile à mettre en œuvre pour exporter des tableaux HTML vers des fichiers xlsx, xls, csv et txt.
Pour utiliser cette bibliothèque, appelez simplement le
TableExport
constructeur:Des propriétés supplémentaires peuvent être transmises pour personnaliser l'apparence de vos tables, boutons et données exportées. Voir ici plus d'infos
la source
Ma fusion de ces exemples:
https://www.codexworld.com/export-html-table-data-to-excel-using-javascript https://bl.ocks.org/Flyer53/1de5a78de9c89850999c
la source
Vous pouvez utiliser une bibliothèque comme ShieldUI pour ce faire.
Il prend en charge l'exportation vers les formats Excel largement utilisés XML et XLSX.
Plus de détails ici: http://demos.shieldui.com/web/grid-general/export-to-excel
la source
En ce qui concerne la réponse des sampopes du 6 juin 14 à 11:59:
J'ai inséré un style css avec une taille de police de 20px pour afficher les données Excel plus grandes. Dans le code de sampopes, les
<tr>
balises de tête sont manquantes, donc je commence par afficher le titre et que les autres lignes de tableaux dans une boucle.la source
tab.rows[j].cells[13]
, votre aide est vraiment appréciéewindow.open('data:application/vnd.ms-excel,' + encodeURIComponent(tab_text));
l'encadrement est très important.Ici, les valeurs 1 à 10 sont les noms de colonnes que vous obtenez
la source
Vous pouvez utiliser tableToExcel.js pour exporter la table dans un fichier Excel.
Cela fonctionne de la manière suivante:
1). Incluez ce CDN dans votre projet / fichier
2). Soit en utilisant JavaScript:
3). Ou en utilisant Jquery
Vous pouvez vous référer à ce lien github pour toute autre information
https://github.com/linways/table-to-excel/tree/master
ou pour référencer l'exemple en direct, visitez le lien suivant
https://codepen.io/rohithb/pen/YdjVbb
J'espère que cela aidera quelqu'un :-)
la source
Ma version de @sampopes répond
Nécessite un iframe
Usage
la source