Page 1 sur 1
Webisation du modèle Bibliothèque Microsoft Office: les OLE

Publié:
28 Avr 2010 à 14:24
par mike76
Bonjour,
Je suis en 8.5.1.
J'utilise le modèle "Bibliothèque Microsoft Office".
Il fonctionne en uniquement en client Notes.
On me demande de le webiser.
Savez-vous si les OLE peuvent fonctionner en mode Web ???
Merci d'avance.
Voici un debut de réponse...

Publié:
28 Avr 2010 à 16:57
par Maxime Choucroun
Dans les évidences, il faudra dégraffer la sécurité des ActivesX
Jamais testé sur FireFox
Autre possibilité, mais fatiguante (au moins pour moi) les Office Web Components. Je n'ai jamais réussi à déterminer le périmetre minimum pour son fonctionnement.
Si quelqu'un peut répondre, cela serait sympa...
Par contre, c'est classe !!!
<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>

Publié:
28 Avr 2010 à 17:18
par mike76
Merci Maxime pour ta réponse.
Mais je veux juste savoir s'il est possible d'utiliser l'OLE en web comme dans le mode Notes de ce modèle.

Publié:
28 Avr 2010 à 17:27
par amahi
La techno n'est pas prevue pour le Web.

Publié:
28 Avr 2010 à 17:29
par mike76
salut Amahi,
merci pour cette réponse très précise
bonne soirée
a+