1/5 (32 avis)
Snippet vu 12 676 fois - Téléchargée 30 fois
<HTML> <HEAD> <TITLE> </TITLE> </HEAD> <SCRIPT LANGUAGE=javascript> <!-- /*--------------------------------------------------------- Nom de la fonction : exportToXL Description : Rempli une feuille Excel avec le contenu d'un tableau Entrées : eSrc -> tableau à exporter Sorties : En cas d'erreur renvoie false ---------------------------------------------------------*/ function exportToXL(eSrc) { var oExcel; // Application Excel var oExcelSheet; // Feuille de calcul var oWkBooks; var cols; // Nombre de colonnes du tableau oExcel = new ActiveXObject('Excel.Application'); oWkBooks = oExcel.Workbooks.Add; oExcelSheet = oWkBooks.Worksheets(1); oExcelSheet.Activate(); if (eSrc.tagName != 'TABLE') { alert('L\'export vers Excel ne fonctionne qu\'avec un tableau.'); return false; } cols = Math.ceil(eSrc.cells.length / eSrc.rows.length); for (var i = 0; i < eSrc.cells.length; i ++) { var c, r; r = Math.ceil((i+1) / cols); //lignes en cours c = (i+1)-((r-1)*cols) //colonnes en cours //En tête de colonnes if (eSrc.cells(i).tagName == 'TH') { oExcel.ActiveSheet.Cells(r,c).Font.Bold = true; oExcel.ActiveSheet.Cells(r,c).Interior.Color = 14474460; //gris } // Texte en gras if (eSrc.cells(i).childNodes.length > 0 && eSrc.cells(i).childNodes(0).tagName == "B") oExcel.ActiveSheet.Cells(r,c).Font.Bold = true; // Rempli le contenu oExcel.ActiveSheet.Cells(r,c).Value = eSrc.cells(i).innerText; } oExcelSheet.Application.Visible = true; } //--> </SCRIPT> <BODY> <FORM id=oForm> <TABLE id=idTable cols=3 name=idTable> <TR><TH>Titre 1</TH><TH>Titre 2</TH><TH>Titre 3</TH></TR> <TR><TD>Cell 1</TD><TD>Cell 5</TD><TD>Cell 5</TD></TR> <TR><TD><b>Cell 2</b></TD><TD>Cell 6</TD><TD>Cell 5</TD></TR> <TR><TD>Cell 3</TD><TD>Cell 7</TD><TD>Cell 5</TD></TR> <TR><TD>Cell 4</TD></TR> </TABLE> </FORM> <INPUT type="button" value="Button" id=button1 name=button1 onCLick="exportToXL(oForm.all('idTable'))"> </BODY> </HTML>
8 juin 2007 à 11:12
11 déc. 2006 à 15:20
le processus "Excel.exe" restait en mémoire empêchant toute ouverture manuelle d'autres documents Excel tant que la page html estait ouverte.
Il suffit de rajouter
// fermeture de EXCEL sinon supprimer les deux lignes
oExcel.WorkBooks.Close;
oExcel.Quit();
oExcel=null;
avant le
}
//-->
</SCRIPT>
Voila Ciao
4 déc. 2006 à 11:39
note:9.
Juste une question: Je ne peut pas ouvrir excel tant que la page html n'est pas fermé.
Est-ce la cas chez vous aussi.
Faut-il detruire le oExcel = new ActiveXObject('Excel.Application'); ???
Et si oui comment fait-on??
Merci d'avance et bravo!
9 oct. 2006 à 13:22
22 août 2006 à 18:13
Auriez vous quelque chose dans le même genre qui fonctionne en JAVA ?
J'essai en java de créer des fichiers Excel a partir d'une base de données.
En fait je suis un dev VB qui essai de se reconvertir en Java et je refais mes progs de VB a Java.
Mais pour le moment les Java et Excel ne sont pas bien documentés ou payant !!
A plus
Merci d'avance
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.