- <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>
-
<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>