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 28/09/2007, 16h13   #1
Invité de passage
 
Inscription : décembre 2003
Messages : 1
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 1
Points : 0
Points : 0
Par défaut Rechercher une chaine dans un fichier Excel

Bonjour à tous & à toutes,

je débute de hier avec ASP et je rencontre mon premier problème... Je cherche une chaine de caractère saisie dans un champ texte d'un formulaire au milieu de tout un tas de fichiers xls, doc, txt et html.

La boucle récursive fonctionne correctement, la recherche dans les fichiers txt et html fonctionne bien mais impossible pour lui de me trouver la chaine dans un fichier xls ou doc.

Je crois comprendre que cela vient du fait que les fichiers doc et xls sont de type binaire (j'ai juste ?)? J'utilise la fonction InStr pour çà.

Est ce que qqun aurait une ressource sous le coude vers laquelle me pointer ?


Par avance merci pour le temps que vous prendrez à me répondre,
Matthieu.
matcram est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2007, 21h59   #2
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Salut,

Bienvenu.
Effectivement, y'a peu de chances pour que cela marche avec InStr.
Excel peut fonctionnner comme une table de base de données.
La chaine de connection est du genre:
Code :
sConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/chemin/fichier.xls;Extended Properties=Excel 8.0;"
Voici un exemple de code complet:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
sub MyExcel()
	Dim sConn, sConnString, rs
	sConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/chemin/fichier.xls;Extended Properties=Excel 8.0;"
	set sConn = server.createobject("ADODB.Connection")
	set rs = server.CreateObject("ADODB.Recordset")
	rs.CursorLocation = 3
	rs.CursorType = 0
	rs.LockType = 1
	sConn.Open sConnString
	on error resume next ' evite un plantage si le nom de la page est mauvais
	rs.open "SELECT * FROM [MaFeuille$]", sConn
		IF err.number = 0 THEN
			Do while not rs.eof
 
				rs.movenext
			Loop
		ELSE
			response.Write("Error : " & err.description & "<br />")
			response.Write(sConnString & "<br />")
			response.Write("SELECT * FROM [MaFeuille$]<br />")
		END IF
	rs.close
	set rs = nothing
	set sConn = nothing
	if err.number = 0 Then
		response.Write("<script langage=javascript>alert('Operation succeeded.');</script>")
	end if
end sub
Pour Word c'est plus compliqué. Il faut que Office soit installé pour créer une instance de l'application qui va lire les fichiers.

C'est pour quel usage?

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h13.


 
 
 
 
Partenaires

Hébergement Web