Problème de lecture dans excel

Pyros62 Messages postés 2 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 21 avril 2005 - 20 avril 2005 à 10:30
Pyros62 Messages postés 2 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 21 avril 2005 - 21 avril 2005 à 10:32
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

the_smurf Messages postés 283 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 22 juin 2006
20 avril 2005 à 11:42
<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
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
20 avril 2005 à 12:08
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]~
0
Pyros62 Messages postés 2 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 21 avril 2005
21 avril 2005 à 10:32
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
0
Rejoignez-nous