Import to excel activex

inkydjango Messages postés 45 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 3 décembre 2009 - 20 janv. 2009 à 11:40
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 20 janv. 2009 à 13:45
bonjour

mon souci est que j'ai recuperer un bout de code sur le site pour exporter un tableau sur excel :

celui ci fonctionne bien en local , fonctionne bien sur mon serveur, mais quand je veux l''executer depuis mon pc alors que la page est sur mon serveur, impossible de le faire fonctionner

la fenetre activer les activex n'apparait plus , jai bien mis mon site, en site securisé mais aucun changement ..

l'erreur est situé a la premiere ligne lors de l'initialisation de la variable qui declare excel...

si vous avez des idees , je suis preneur, je vous insere le code en vrac, je ne sais pas comment joindre un fichier a mon post, desole pour la couleur , mais avec un copier coller dans une pages html ca fonctionne en local

merci

<html>
<script language="javascript">


function exportToExcel(tableau) {
 oExcel = new ActiveXObject('Excel.Application');
 oWkBooks = oExcel.Workbooks.Add;
 oExcelSheet = oWkBooks.Worksheets(1);
 oExcelSheet.Activate();
 nbrCellules = tableau.cells.length;
 for (i = 0; i < tableau.cells.length; i++) {
  nbrCellules = nbrCellules + (tableau.cells(i).colSpan * tableau.cells(i).rowSpan) - 1;
 }
 nbrColonnes = Math.ceil(nbrCellules / tableau.rows.length);
 tab = new Array();
 for (j = 0; j < nbrCellules; j++) {
  tab.push('*');
 }
 decal = 0;
 for (k = 0; k < tableau.cells.length; k++) {  if ((tableau.cells(k).colSpan 1) && (tableau.cells(k).rowSpan 1)) {
   if (k != (tableau.cells.length - 1)) {
    while (tab.slice((k + decal), (k + decal + 1)) == '') {
     decal = decal + 1;
    }
   }
   tab.splice((k + decal),1,tableau.cells(k).innerText);
  } else if ((tableau.cells(k).colSpan > 1) && (tableau.cells(k).rowSpan == 1)) {
   tab.splice((k + decal),1,tableau.cells(k).innerText);
   for (l = 0; l < (tableau.cells(k).colSpan - 1); l++) {
    tab.splice((k + decal + l + 1),1,'');
   }
   decal = decal + tableau.cells(k).colSpan - 1;
  } else if ((tableau.cells(k).colSpan == 1) && (tableau.cells(k).rowSpan > 1)) {
   tab.splice((k + decal),1,tableau.cells(k).innerText);
   for (m = 0; m < (tableau.cells(k).rowSpan - 1); m++) {
    tab.splice((k + decal + ((m + 1) * nbrColonnes)),1,'');
   }
  } else if ((tableau.cells(k).colSpan > 1) && (tableau.cells(k).rowSpan > 1)) {
   tab.splice((k + decal),1,tableau.cells(k).innerText);
   for (n = 0; n < tableau.cells(k).rowSpan ; n++) {
    for (o = 0; o < tableau.cells(k).colSpan ; o++) {
     if ((n == 0) && (o != 0)) {
      tab.splice((k + decal + n + 1),1,'');
      decal = decal + 1;
     } else if (n != 0) {
      tab.splice(k + decal + (nbrColonnes - tableau.cells(k).colSpan) + o + 1 + ((n - 1) * nbrColonnes),1,'');
     }
    }
   }
  }
 }
 for (m = 0; m < tab.length; m++) {
  r = Math.ceil((m + 1) / nbrColonnes);
  c = (m + 1) - ((r - 1) * nbrColonnes);
  oExcel.ActiveSheet.Cells(r,c).Value = tab.slice(m,(m + 1));
 }
 oExcelSheet.Application.Visible = true;
}    
                                        
</script>




<head>


</head>


 


  
     <!--  oncontextmenu="return returnFalse();" -->
           <!-- <hr style="PAGE-BREAK-BEFORE: always">  -->
           
               
           

           

           

           
    
                  ----

                                   
                        Val1
                   

               ,
                                   
                        123456
                   

               ,
                                   
                        ------
                   

               ,
                                   
                        --------
                   

               ,
           
            ----

                                   
                        Val2
                   

               ,
                                   
                        123456
                   

               ,
                                   
                        ------
                   

               ,
                                   
                        --------
                   

               ,
           
            ----

                                   
                        Val3
                   

               ,
                                   
                        123456
                   

               ,
                                   
                        ------
                   

               ,
                                   
                        --------
                   

               ,
           
       




   

</html>

6 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
20 janv. 2009 à 12:03
bonjour,
je ne comprend pas de quelle page tu parles ?
si c'est le fichier Excel, où fais-tu l'open de ce fichier ?
    du style : oExcel .Workbooks.Open("adresse du .xls"); 
Cordialement          [mon Site] [M'écrire] Bul         
0
inkydjango Messages postés 45 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 3 décembre 2009
20 janv. 2009 à 12:21
je parle de ca, en fait un probleme d'activation de l'activex, celui ci napparait pas avant que jappuie sur le bonton et donc l'erreur..

oExcel = new ActiveXObject('Excel.Application');
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
20 janv. 2009 à 12:39
navré... je ne comprend plus rien !!!!!

tu disais n'avoir aucune erreur ni en local, ni sur ton serveur .... ?? non ??

si tu as une erreur à ce niveau, c'est que
les activeX ne sont pas autorisés sur ton serveur
          ( et chez la plupart des hébergeurs ça ne l'est pas, tu ne pourras rien y faire  ! ) ,
ou excel n'est pas installé sur ton serveur,  en version multi-utilisateurs
          bon... avec intra net c'est sans problème , en internet... je doute

          [mon Site] [M'écrire] Bul         
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
20 janv. 2009 à 12:44
bref... à mon avis, et à priori
( peut-être me trompe-je ? )
tu devrais plutôt regarder du coté des langages serveurs
( asp, php, ruby, .net... ), sauf si tu es en intranet
ou si tu as ton propre serveur

         [mon Site] [M'écrire] Bul        
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
inkydjango Messages postés 45 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 3 décembre 2009
20 janv. 2009 à 13:28
oui c'est en intranet sur mon propore serveur

qu'est ce que ca peut etre a part la securite du site , pour moi c'est peut etre une option de apache qui n'autorise pas les activex...

mais un comportement qui contrarie cette idee est que meme qd jaccede a mon fichier par le reseau [file://\\serveur\site\fichier.html \\serveur\site\fichier.html] (il me prend cette zone comme intranet , ce qui est vrai)

ca ne fonctionne pas non plus , alors c'est pareil je comprends pas grand chose
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
20 janv. 2009 à 13:45
>>c'est en intranet sur mon propore serveur
donc.. ça devrait fonctionner.... aux autorisations près ? sinon....
si tu es en intranet, excel installé sur le serveur, en multi utilisateurs.....
ça doit baigner
au moins au niveau de l'activeX

>>je comprends pas grand chose
si ça peut te rassurer : moi non plus.

          [mon Site] [M'écrire] Bul         
0
Rejoignez-nous