Exportation des tableaus vers excel

Contenu du snippet

cet code vous permeterent d'éxportation des table en html vers Excel.

Source / Exemple :


<!--
/*---------------------------------------------------------
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,diff) {

	var oExcel; // Application Excel
	var oExcelSheet; // Feuille de calcul
	var oWkBooks;
	var cols; // Nombre de colonnes du tableau
	var j=0;
	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)-diff;
	for (var i = 0; i < eSrc.cells.length; i ++)
	{
		var c, r;
		j++;
		if(j>cols){
		//	alert(j+'  '+cols);
			i+=diff;
			j=0;
		}
		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;

}

Conclusion :


cet code vous permeterent d'éxportation des table en html vers Excel.

A voir également

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.