6
votes

Convertir Table HTML en Excel dans JavaScript

J'ai un problème pour convertir une table HTML en un fichier Excel. J'utilise xxx

dans JavaScript pour effectuer cette conversion. Le problème est que le fichier Excel généré n'a qu'une seule cellule avec tout le code HTML à l'intérieur. J'ai besoin d'une table typique avec des rangées et des colonnes dans Excel.

Merci d'avance et des salutations à la communauté. Je suis Super Newbie ... s'il vous plaît soyez patient! ;)

code JavaScript: xxx

code html (tableau): xxx

merci pour Tout !!

Remarque: est-il possible d'éliminer la colonne automatique avec l'image? Parce que la table est autogogenetée par une requête MySQL et a de nombreuses lignes! Merci!


2 commentaires

Essayez cette URL [convertir la table HTML en Excel à l'aide de javscript] [1] [1]: Stackoverflow.com/Questtions/11050815/...


Merci! Je vais enquêter plus ...


3 Réponses :


2
votes

aurait dû faire plus de recherches, le code est ci-dessous:

var tableToExcel = (function() {
    var uri = 'data:application/vnd.ms-excel;base64,',
        template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>',
        base64 = function(s) { 
          return window.btoa(unescape(encodeURIComponent(s))) 
        },
        format = function(s, c) { 
          return s.replace(/{(\w+)}/g, function(m, p) { return c[p]; })
        }
    return function(table, name) {
        if (table.nodeType) table = document.getElementById("tablaSeguimientos")
        var ctx = {worksheet: name || 'tablaSeguimientos', table: tablaSeguimientos.innerHTML}
        window.location.href = uri + base64(format(template, ctx))
    }
})()


6 commentaires

Je pourrais réellement utiliser cela moi-même


Gaouse! Merci!! ... Je vois qu'il y a une variable tabletoexcel, mais ... mais comment puis-je mettre en œuvre ?.


D'accord! ... Je mets cette phrase après votre code: window.Open ('Data: Application / VND.MS-Excel,' + Tabletoexcel); ... mais ne fonctionne pas :( .... je suis vraiment perdu? ... Je ne comprends pas votre code, désolé


@XAVI: Utilisez le code ci-dessous: