De loin, l'exportation la plus propre et la plus facile des tableaux vers Excel est la suivante Plugin Jquery DataTables Table Tools. Vous obtenez une grille qui trie, filtre, ordonne et met en page vos données, et avec seulement quelques lignes de code supplémentaires et deux petits fichiers inclus, vous obtenez l'exportation vers Excel, PDF, CSV, vers le presse-papiers et vers l'imprimante.
C'est tout le code qui est nécessaire :
$(document).ready( function () {
$('#example').dataTable( {
"sDom": 'T<"clear">lfrtip',
"oTableTools": {
"sSwfPath": "/swf/copy_cvs_xls_pdf.swf"
}
} );
} );
Ainsi, le déploiement est rapide, il n'y a pas de limitation de navigateur, aucun langage côté serveur n'est requis et, surtout, il est très FACILE à comprendre. C'est du tout cuit. La seule chose sur laquelle il a des limites, cependant, est le formatage strict des colonnes.
Si le formatage et les couleurs sont des problèmes absolus, la seule méthode fiable à 100 % et inter-facteurs que j'ai trouvée consiste à utiliser un langage côté serveur pour traiter les fichiers Excel à partir de votre code. Ma solution de prédilection est PHPExcel C'est le seul que j'ai trouvé jusqu'à présent qui gère positivement l'exportation avec mise en forme vers une version MODERNE d'Excel à partir de n'importe quel navigateur lorsque vous ne lui donnez que du HTML. Permettez-moi de préciser qu'il n'est pas aussi facile que la première solution et qu'il est un peu gourmand en ressources. Cependant, le côté positif de cette solution est qu'elle peut également produire directement des fichiers PDF. Et, une fois que vous l'avez configurée, elle fonctionne, à chaque fois.
MISE À JOUR - 15 septembre 2016 : TableTools a été abandonné au profit d'un nouveau plugin appelé " boutons " Ces outils remplissent les mêmes fonctions que l'ancienne extension TableTools, mais sont beaucoup plus faciles à installer et utilisent des téléchargements HTML5 pour les navigateurs modernes, avec la possibilité de revenir au téléchargement Flash original pour les navigateurs qui ne prennent pas en charge la norme HTML5. Comme vous pouvez le voir dans les nombreux commentaires depuis que j'ai posté cette réponse en 2011, la principale faiblesse de TableTools a été traitée. Je ne peux toujours pas recommander assez DataTables pour gérer simplement de grandes quantités de données, tant pour le développeur que pour l'utilisateur.
9 votes
Le moyen le plus simple est probablement d'exporter un document HTML, qu'Excel peut ouvrir.
0 votes
@Pekka J'ai essayé, mais le formatage, la taille des colonnes, etc. sont perdus.
3 votes
@user où déclarez-vous la taille des colonnes et autres ? Je ne suis pas très familier avec l'exportation de données vers Excel, mais il se peut que vous deviez les déclarer en ligne, c'est-à-dire
<td style="background-color: ...
0 votes
@user - il y a au moins deux problèmes différents ici : 1) le formatage des données pour qu'elles s'affichent correctement dans Excel, et 2) l'exportation des données à l'aide de Javascript pour qu'il définisse correctement le type de message et invite l'utilisateur à enregistrer le fichier. Essayez-vous de résoudre ces deux problèmes ?
0 votes
@user, avez-vous trouvé une solution qui répond à la question ? Si oui, pouvez-vous accepter ?
0 votes
Il suffit de sélectionner le tableau html d'entrée et de le faire glisser vers excel. si le html est valide, alors tout doit fonctionner. Comme ici mrkent.com/outils/convertisseur/index.htm (si vous avez besoin d'une méthode automatisée, ce n'est pas une solution).
10 votes
Pourquoi cela a-t-il été considéré comme "fondé sur une opinion" ? Il s'agit d'une question technique très simple.
0 votes
Je vous suggère d'aller voir TableExport . Il s'agit d'un plugin simple, facile à mettre en œuvre pour exporter des tableaux HTML vers
xlsx
,xls
,csv
ytxt
fichiers. Il fonctionne également dans tous les principaux navigateurs.0 votes
tableexport.v4.travismclarke.com