Problème de lecture dans excel

Signaler
Messages postés
2
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
21 avril 2005
-
Messages postés
2
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
21 avril 2005
-
Bonjour,

Présentation de la page :

Cette page représente un mini système de messages avec le nom, la date et le message. Cette fonction aurait put être implanté dans d'autres langages (ASP ou PHP) cependant étant donné que c'est pour un intranet et que la sécurité qui y règne empeche toute modification du serveur j'ai du m'orienter vers le javascript et Excel.

Problème :

J'ai parcouru google et le site pour trouver des bouts de codes en corélation avec ma page. Cependant, les codes présentés gère une feuille excel dont la taille est définie. Pour être plus pratique, je dois réaliser quelquechose d'un peu plus "dynamique".
Tout se passe bien : excel s'ouvre cependant je ne sais pour quel raison il insere un nombre "65XXX" dans la feuille à la colonne Nom. Et il me demande donc a chaque fois si je veux enregistrer les modifications.
Ceci est mon plus gros problème. Après il faut que je revoie mon indexation. Mais c'est le fait qu'il inscrive ce nombre qui pose problème.

J'ai réalisé cela en deux pages :

News.js

var TabDonnées= new Array()




//function ImportFromXLS_Direct() {




var fso =new ActiveXObject


(
"Scripting.FileSystemObject");


var url= unescape(self.location.pathname);


var adr =(fso.GetExtensionName(url).toLowerCase()!=
'hta')?1:0;


var Rep_cour = fso.GetParentFolderName(url).substr(adr);


Path_file = Rep_cour +
"\\Messagerie.xls";







// Lancement de EXCEL


oExcel = new ActiveXObject(
'Excel.Application');


oExcel.WorkBooks.Open (Path_file);


oExcel.Visible = true;




var i;


i= 1;


while ( (oExcel.activeSheet.cells(i,1).value/ =
"") && (oExcel.activeSheet.cells(i,2).value/=
"") && o(Excel.activeSheet.cells(i,3).value/=
""))



{


TabDonnées[i-1,1]=oExcel.ActiveSheet.cells(i+1,1).value;


TabDonnées[i-1,2]=oExcel.ActiveSheet.cells(i+1,2).value;


TabDonnées[i-1,3]=oExcel.ActiveSheet.cells(i+1,3).value;


i=i+1;



}



// fermeture de EXCEL sinon supprimer les deux lignes




oExcel.Application.Quit();


et test.htm :

<HTML>


<HEAD>


<LINK
REL ="stylesheet"
TYPE= "text/css"
HREF ="styles.css">


<TITLE>




</TITLE>






<script LANGUAGE= javascript src=News.js>




</script>




</HEAD>






<table
border ="1"
cellpadding= "0"
cellspacing ="0"
style= "border-collapse: collapse"
bordercolor ="#111111"
id= "AutoNumber1"
width ="654">



<tr>



<td
width= "85">



<p
align ="center">Nom de l'auteur
</td>



<td
width= "122">



<p
align ="center">Date
</td>



<td
width= "439">



<p
align ="center">Messages
</p>



</td>



</tr>


<script LANGUAGE=javascript>


<!--




for
(i=0;i<TabDonnées.length;i++)


{


document.writeln("<TR><TD>" + TabDonnées[i,1]+ "</TD>");//Cellule(lignes, colonnes)


document.writeln("<TD>" + TabDonnées[i,2]+ "</TD>");//Cellule(lignes, colonnes)


document.writeln("<TD>" + TabDonnées[i,3]+ "</TD>");//Cellule(lignes, colonnes)


document.writeln("</TR>");


i=i+1;


}


-->


</script>




</table>












</HTML>


Mon fichier excel s'appelle Messagerie.xls et possède trois colonnes : Nom , date, Messages. Les données commencant à la ligne 2.

Si quelqu'un trouve la ligne d'inscription, je le remercie d'avance.

Pyros62

3 réponses

Messages postés
283
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
22 juin 2006

<HTML>


<HEAD>


<LINK REL="stylesheet" TYPE="text/css" HREF="styles.css">


<TITLE>



</TITLE>





<script>
var TabDonnées= new Array();





//function ImportFromXLS_Direct() {



var fso=new ActiveXObject


("Scripting.FileSystemObject");


var url=unescape(self.location.pathname);


var adr=(fso.GetExtensionName(url).toLowerCase()!='hta')?1:0;


var Rep_cour= fso.GetParentFolderName(url).substr(adr);


Path_file = Rep_cour + "[file://\\Messagerie.xls \\Messagerie.xls]";
alert(Path_file);





// Lancement de EXCEL


oExcel = new ActiveXObject('Excel.Application');


oExcel.WorkBooks.Open (Path_file);


oExcel.Visible = true;



var i;
ligneDebut = 3
i=ligneDebut;


while ( !((oExcel.activeSheet.cells(i,1).value=="" || oExcel.activeSheet.cells(i,1).value==null) && (oExcel.activeSheet.cells(i,2).value=="" || oExcel.activeSheet.cells(i,2).value==null) && o(Excel.activeSheet.cells(i,3).value=="" || oExcel.activeSheet.cells(i,2).value==null)))


{
var Données = new Array();
Données[1]=oExcel.ActiveSheet.cells(i,1).value;
Données[2]=oExcel.ActiveSheet.cells(i,2).value;
Données[3]=oExcel.ActiveSheet.cells(i,3).value;
TabDonnées[i-ligneDebut] = Données;
i=i+1;


}


// fermeture de EXCEL sinon supprimer les deux lignes



oExcel.Application.Quit();



</script>



</HEAD>




Nom de l'auteur,

Date,

Messages,

<script LANGUAGE=javascript>

<!--

for (j=0;j<TabDonnées.length;j++)

{

document.writeln(\"----
" + TabDonnées[j][1]+ ", \");//Cellule(lignes, colonnes)
document.writeln(\"" + TabDonnées[j][2]+ ", \");//Cellule(lignes, colonnes)
document.writeln(\"" + TabDonnées[j][3]+ ", \");//Cellule(lignes, colonnes)
document.writeln(\"\");

}

-->

</script>












</HTML>


The SMURF
[mailto:the_little_smurf@yahoo.fr the_little_smurf@yahoo.fr]
Enjoy the life, don't waste your time in front of your computer
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
Bonjour,
on pouvait aussi, par exemple, voir ça comme çà :

<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>

Nom de l'auteur,
Date,
Messages,
<script type=\"text/javascript\">
var fso=new ActiveXObject(\"Scripting.FileSystemObject\");
var url=unescape(self.location.pathname);
var adr=(fso.GetExtensionName(url).toLowerCase()!='hta')?1:0;
var Rep_cour= fso.GetParentFolderName(url).substr(adr);
Path_file = Rep_cour + \"Site~~[mailto:marcelBultez@tiscali.fr Mail]~
Messages postés
2
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
21 avril 2005

Bonjour,

Je tiens à vous remercier tous les deux pour vos réponses.
Cela fonctionne parfaitement et m'a permis de poussé un peu plus le code javascript.

Merci encore.

Pyros