Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/04/2007, 20h26   #1
Invité de passage
 
Inscription : avril 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 4
Points : 1
Points : 1
Par défaut Fichier excel info-bulle

Bonjour,

Je cherche à écrire un script asp qui ferais en sorte de lire un fichier excel et de me donner dans un info-bulle la valeur d'une colone correspondant à celle d'une image. Sur mon site présentement j'ai un album photo (mon script regarde dans un répertoire les fichiers qu'il a et affiche les images). Ce que je veux c'est écrire un fichier excel où les noms des images du répertoire sont dans une colonne et dans l'autre il y aura le prix pour ces items. Je veux que mon site affiche dasn un info-bulle le prix de la colonne b correspondant au nom du fichier de la colonne a.

Merci

Belbo
Belbo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2007, 14h32   #2
Membre Expert
 
Avatar de zooffy
 
Homme Erick OZOUF
Développeur Web
Inscription : août 2004
Messages : 3 384
Détails du profil
Informations personnelles :
Nom : Homme Erick OZOUF
Âge : 42
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : août 2004
Messages : 3 384
Points : 1 333
Points : 1 333
Envoyer un message via MSN à zooffy Envoyer un message via Skype™ à zooffy
Je ne sais pas trop comment faire pour ouvrir un fichier EXCEL et le lire en ASP.

Mais je me pose la question : pourquoi tu n'utilises pas une base de données ?
Est ce que tu as un soucis avec l'hébergement ?
As tu pensé à faire çà avec un fichier ACCESS ?

En tout cas tu dois pouvoir trouver de la doc pour lire dans un fichier EXCEL ici, dans la FAQ ou avec ton ami GOOGLE. Ce que tu expose ne me parait pas trés complqiué, bien qu'une base de donnée serait vraiment plus simple.
zooffy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2007, 14h36   #3
Membre Expert
 
Avatar de zooffy
 
Homme Erick OZOUF
Développeur Web
Inscription : août 2004
Messages : 3 384
Détails du profil
Informations personnelles :
Nom : Homme Erick OZOUF
Âge : 42
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : août 2004
Messages : 3 384
Points : 1 333
Points : 1 333
Envoyer un message via MSN à zooffy Envoyer un message via Skype™ à zooffy
Tiens, je viens de lire un truc un peu plus bas.
http://developpez.net/forums/showthread.php?t=305736
çà parle d'un autre problème, mais çà va te donner une base pour ouvrir un fichier EXCEL et lire dedans.

@+
zooffy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2007, 15h35   #4
Invité de passage
 
Inscription : avril 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 4
Points : 1
Points : 1
Le raison pourquoi je n'utilise pas de base de donnée est simple. Je construis un site web pour un client et je veux que celui-ci puisse modifier certaine chose sur son site et je sais que ce client n'est pas à l'aise avec les base de données.
Belbo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2007, 15h58   #5
Membre Expert
 
Avatar de zooffy
 
Homme Erick OZOUF
Développeur Web
Inscription : août 2004
Messages : 3 384
Détails du profil
Informations personnelles :
Nom : Homme Erick OZOUF
Âge : 42
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : août 2004
Messages : 3 384
Points : 1 333
Points : 1 333
Envoyer un message via MSN à zooffy Envoyer un message via Skype™ à zooffy
OK, çà me parait être une bonne raison.

Mais tu pourrais aussi lui faire des formulaires pour modifier les élément dans la base, sauf si le devis est trop séré.

Enfin, est ce que le lien que je t'ai filer répond un peu à ta question ?
zooffy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2007, 16h07   #6
Invité de passage
 
Inscription : avril 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 4
Points : 1
Points : 1
Remarquez qu'un fichier excel n'est pas obligatoire, ça pourrais être un fichier texte:

Première ligne le nom du fichier
Deuxième le prix
Troisième le nom du fichier
Quatrième le prix
Etc.

Je sais comment ouvrir un fichier mais c'est le lien avec mon script d'album photo que je ne vois pas comme faire. Voici ce script:


<%
IF view="" THEN%>

<%
dirname = "/version2/images/animaux/"
mypath = "/version2/images/animaux/"
%>
<%
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(server.mappath(dirname))
Set filez = folder.Files
FileCount = folder.Files.Count
%>
<%' Now To the Runtime code:

strPath = mypath

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

Set objFolder = objFSO.GetFolder(Server.MapPath(strPath))


i=0
For Each objItem In objFolder.Files
i=i+1
NEXT

%>
<br />
<table width="13%" cellpadding="3" cellspacing="0">
<tr>
<%
i=0
For Each objItem In objFolder.Files %>
<td align="center"><a href="<%= strPath&objItem.Name %>" title="Click to view the Full Size Image" target="_blank"><img src="<%= strPath&objItem.Name %>" alt="Click to view the Full Size Image" width="50" height="70" border="0"></a><br />
<a href="<%= strPath&objItem.Name %>" target="_blank"></a></td>
<%
i=i+1
IF i=5 THEN
i=0
%>
</tr>
<tr>
<%END IF
NEXT
%>
</table>
<%
Set objItem = Nothing
Set objFolder = Nothing
' All done! Kill off the object variable
' s.
Set objFSO = Nothing
%>
<%END IF%>
<%IF view="ShowPic" THEN
imageURL=Request.QueryString("ID")%>
<%END IF%>
</td>
</tr>
</table>

<%end if%>

Belbo
Belbo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2007, 16h48   #7
Membre Expert
 
Avatar de zooffy
 
Homme Erick OZOUF
Développeur Web
Inscription : août 2004
Messages : 3 384
Détails du profil
Informations personnelles :
Nom : Homme Erick OZOUF
Âge : 42
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : août 2004
Messages : 3 384
Points : 1 333
Points : 1 333
Envoyer un message via MSN à zooffy Envoyer un message via Skype™ à zooffy
A priori tout se passe dans cette aprtie du code.
Citation:
Envoyé par Belbo
For Each objItem In objFolder.Files %>
<td align="center"><a href="<%= strPath&objItem.Name %>" title="Click to view the Full Size Image" target="_blank"><img src="<%= strPath&objItem.Name %>" alt="Click to view the Full Size Image" width="50" height="70" border="0"></a><br />
<a href="<%= strPath&objItem.Name %>" target="_blank"></a></td>
Là, ton code va simplement cherche des fichier dans un répertoire. Il faut donc que tu remplace objItem.Name par ce qui vient de ton fichier EXCEL en colonne A et que tu remplace le ALT de la balsie <IMG par ce qui vient de ton fichier eXCEL en colonne B.

Donc au début du script tu ne vas pas lire dans le répertoire, mais parcourir ton fichier EXCEL. Je ne pourrais malheureusement pas t'aider plus dans le détail car je ne maitrise pas assez la lecture d'un fichier EXCEL, mais l'esprit est dans ce que je viens de te raconter.

@+
zooffy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2007, 17h21   #8
Invité de passage
 
Inscription : avril 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 4
Points : 1
Points : 1
Comment je peux écrire mon script si j'utilise un base de données qui ferais en sorte de:

Display info-bulle from tblprix where nom du fichier?

Merci

Belbo
Belbo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2007, 09h30   #9
Membre Expert
 
Avatar de zooffy
 
Homme Erick OZOUF
Développeur Web
Inscription : août 2004
Messages : 3 384
Détails du profil
Informations personnelles :
Nom : Homme Erick OZOUF
Âge : 42
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : août 2004
Messages : 3 384
Points : 1 333
Points : 1 333
Envoyer un message via MSN à zooffy Envoyer un message via Skype™ à zooffy
Ben sur le même principe que tu lis le contenu du répertoire.
Prenons une table à deux colonnes contenant en A le nom du fichier et en B le prix. Et partons du principe que tous les fichiers image sont dans le même répertoire (éventuellement ensuite tu ajoute un champ C dans le table pour gérer des répertoires différents).

Tu ouvre un recordset (je pars tu principe que tu sais le faire). Dans la lecture de ton recordset tu place ta balise <a href et ta balise <img et mets dans les attribut de balise qui vont bien le contenu des champs de ton recordset. Tu garde le même système de calcul du passage à la ligne (avec le I = I + 1 et le test sur I < 5 et hop, le tour est joué.

Donc ton code devient un truc qui ressemble à çà :
Code :
1
2
3
4
5
 
<%do while not rs.EOF%>
<td align="center"><a href="<%= mypath & rs("A") %>" title="Click to view the Full Size Image" target="_blank"><img src="<%= mypath & rs("A") %>" alt="Le prix est de : <%= rs("B") %>" width="50" height="70" border="0"></a><br />
<a href="<%= mypath & rs("A") %>" target="_blank"></a></td>
rs.MoveNext
Voilà, avec un eptit peu d'adaptation pour que çà rentre bien dans ton application globale, tu devrais t'en sortir avec çà.
J'ai pas bien compris à quoi sert le deuxième lien, amis c'est certainement parce que je n'ai pas la page complète.
Tu n'oublie pas d'insérer le test de changement de ligne de la table avant le rs.MoveNext.

Ensuite tu peux moduler et changer le texte avant le rs("B"), tu envoyer le lien vers une vraie page au lieu de l'envoyer sur l'image par elle même, bref tu peux faire plein de truc.

Mais surtout, avec un abse tu aura beaucoup plus de souplesse et ton utilisateur aussi car tu pourra lui développer des pages pour gérer tout ce petit monde et éventuellement catégoriser tes images plus facilement.

@+
zooffy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2007, 00h40   #10
LEK
Membre éclairé
 
Inscription : mai 2005
Messages : 596
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 596
Points : 363
Points : 363
Tu peux aussi plus simplement utiliser ton fichier excel comme une base de donées... Il ne faut pas oublier que via ADO tu peux aussi attaquer uin fichier txt/csv/excel...
Regarde du côté de ce tuto
LEK est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2007, 16h14   #11
Membre Expert
 
Avatar de zooffy
 
Homme Erick OZOUF
Développeur Web
Inscription : août 2004
Messages : 3 384
Détails du profil
Informations personnelles :
Nom : Homme Erick OZOUF
Âge : 42
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : août 2004
Messages : 3 384
Points : 1 333
Points : 1 333
Envoyer un message via MSN à zooffy Envoyer un message via Skype™ à zooffy
ah, mais oui, j'avais oublié çà aussi.
Tellement l'habitude d'avoir un server SQL sous la main.

Bien vu LEK
zooffy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 18h52   #12
LEK
Membre éclairé
 
Inscription : mai 2005
Messages : 596
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 596
Points : 363
Points : 363
Ah quand on prend l'habitude d'aller toujours au plus simple
LEK est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h14.


 
 
 
 
Partenaires

Hébergement Web