begin process at 2012 02 13 06:50:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Divers

 > 

Exporter un tableau vers Excel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Exporter un tableau vers Excel

vendredi 3 octobre 2008 à 14:18:36 | Exporter un tableau vers Excel

chezeu


Merci pour le code mais la fonction ne s'execute pas chez moi. Qu'est qu'il faut faire? y'a t'il quelque chose à faire sur le tableau. SVP j'attend votre reponse
voici mon code.

<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Export</title>
<style type="text/css">
<!--
.InEo {visibility:hidden; font-size: 9px;    }
.InEo {visibility:visible; font-size: 9px   }
-->
</style>
<SCRIPT type="text/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>

<body>
<p>&nbsp;</p>
<div id="tableau">
<table width="200" border="1" id="tableau">
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
</div>
<div align="center">
  <input name="Submit2" type="button" class="InEo" onClick="exportToExcel(tableau)" value="EXPORTER" />
</div>
<p>&nbsp;</p>
</body>
</html>

 

vendredi 3 octobre 2008 à 14:40:48 | Re : Exporter un tableau vers Excel

bultez

Membre Club
bonjour,
ben voila, même s'il fallait rester sur la question
initiale c'est bien mieux qu'un message privé !
plus de lecteurs, d'intervenants, de compétances,
plus de chances de réponses tout simplement
sans parler que ça peut intéresser d'autre personnes ...

debugger !!

 nbrCellules = tableau.cells.length;

tableau.cells.length ?   n'existe pas !
le nombre de cellule est lié à la ligne
tableau.rows[n° de ligne].cells.length

et pour le debug :

FireFox
regarder la "console d'erreurs"
Outils / Console d'erreurs
et mieux : télécharger FireBug
Internet
Explorer
activer le deboggage : Outils/options Internet/Avancés
dans la liste, sous "Navigation" : décocher
o Afficher une notification de chaque erreur de script
o Désactiver le débogage de Scripts (Internet Explorer)
et mieux : télécharger le Debogger IE
voir aussi : DebugBar et Companion JS
K-Meleon
regarder la "console d'erreurs"
Outils / Console d'erreurs
Opera
regarder la "console d'erreurs"
Outils / Avancé / Console d'erreurs
Safari
regarder Debug / Show JavaScript Console
° modifier Fichier Preferences.plist situé dans le
répertoire : Support:\Documents and Settings\utilisateur
\Application Data\Apple Computer\Safari\
y ajouter <key>IncludeDebugMenu</key>
<true/>


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

samedi 4 octobre 2008 à 13:04:00 | Re : Exporter un tableau vers Excel

chezeu

Ok Merci ça marche bien avec un tableau statique, mais le probléme c'est que j'ai un tableau dynamique qui est rempli avec les données de la BD, et dans ce cas ci ça ne marche plus. comment faire alors? Merci d'avance!

samedi 4 octobre 2008 à 13:22:09 | Re : Exporter un tableau vers Excel

bultez

Membre Club

ben... statique ou dynamique crée avec le php je suppose ? c'est la même chose.
php ne fait jamais que créer une page html...

donc vu coté client/javascript c'est toujours "statique"
( sauf si on modifie ce tableau en js bien sûr )

          Bul    [mon Site] [M'écrire]         



Cette discussion est classée dans : tableau, tab, cells, nbsp, decal


Répondre à ce message

Sujets en rapport avec ce message

import to excel activex [ par inkydjango ] bonjourmon 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 Comment lister un tableau ? [ par Zart ] Bonjour... Ma question va sembler con pour certains mais je ne toruve pas de solution ou je ne sais pas comment faire (en Javascript) Voilà je voudrai title d'un tr dans un tableau [ par Slyders ] Bonjour,Je voudrais afficher un titre dans une ligne de mon tableau et afficher sa un peu comme une carte (plusieur ligne).mais \n ou ou ne marche p Gestion commande avec Checkbox [ par essetelle ] Bonjour,Je suis un peu à charge en ce moment !Je vous explique !J'ai un tableau comprenant plusieurs colonnes. La première présente les photos des pro Création d'un tableau associatif [ par sapakus ] Bonjour,pour créer un tableau associatif en javascript, il suffit de faire :var tab=new Array();tab['</ positionner le contenu d'un tableau en haut .... [ par kalif ] bonjour a tous, j'ai un tableau de 3 colonnes. La première colonne contient des ENTER, je souhaite que tout le contenu de la deuxième colone sois en h tableau de matrice javascript [ par yallal ] Bonjour,en faite j'aurai besoin de créér un tableau de tableau de matrices, je pensais fairetab[0][1][0]=["a","a","a","a","a"];tab[0][1][1]=["a","a"," problème de remlissage d'un tableau dans une fonction [ par houdar ] Salut tout le monde, j'ai un problème dans la fonction suivante: [code=js]function longitude(tab){ alert('debut latlng'); var address; alert(tab.l Trier tableau généré en js [ par way2web ] Bonjour,j'ai créé un script me permettant de générer un tableau html à partir de données stockées dans un array à 2 dimensions. L'affichage est correc Afficher un exemple dans un tableau en fonction d'un choix dans un formulaire [ par kilian67 ] Bonjour,Je souhaite que d'après les choix qu'un utilisateur fait dans un formulaire de mise en page (police, taille, couleur, etc...) un exemple s'aff


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,981 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales