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 11/09/2006, 12h14   #1
Membre du Club
 
Inscription : décembre 2005
Messages : 264
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 264
Points : 46
Points : 46
Par défaut Excel (long. données dans cellule) vers ASP

Bonjour tout le monde,
les mystères d'excel sont de nouveau contre moi

je cherche à importer des données d'un fichier excel vers une base access en asp VB,
j'ai pas trop de problème à faire ca tant que mes données sont d'une longueur raisonnable,
quand une cellule excel possède plus de 1000 caractères,
je n'arrive plus à rapatrier les données de cette cellule ???

Comment faire

Merci d'avance
j'espère avoir été clair
Australia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/09/2006, 15h34   #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,

Tu veux les afficher simplement ou les insérer dans une base?

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2006, 08h48   #3
Membre du Club
 
Inscription : décembre 2005
Messages : 264
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 264
Points : 46
Points : 46
je veux pouvoir les récupérer pour les metttre dans une base
ou au moins pouvoir récupérer leur taille pour afficher un message en conséquence

Merci
Australia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2006, 11h49   #4
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
Citation:
Envoyé par Australia
je n'arrive plus à rapatrier les données de cette cellule ???
C'est quoi ta methode?
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2006, 13h22   #5
Membre du Club
 
Inscription : décembre 2005
Messages : 264
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 264
Points : 46
Points : 46
je crée une zone dans le fichier excel (insérer-> définir-> nom),
nommée import,
ensuite je crée un recordset de cette zone d'import,
puis après je travail dessus

bref, voila ma liaison avec excel :
Code :
1
2
3
4
Set objConn = Server.CreateObject("ADODB.Connection")
  objConn.Open "Driver={Microsoft Excel Driver (*.xls)}; DBQ=" & strXLSFileName
  Set rcsFile = Server.CreateObject("ADODB.RecordSet")
  rcsFile.Open "Select * From Import", objConn
ensuie mon rcsfile est un recordset identique à la zone définie dans excel

j'éspère avoir été clair
Australia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2006, 13h47   #6
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
Citation:
Envoyé par Australia
je crée une zone dans le fichier excel (insérer-> définir-> nom), nommée import
Et ça marche bien ça? Tu récupères déjà des trucs?
Perso, je fais:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Dim sConnectionString
sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test.xls;Extended Properties=Excel 8.0;"
set objConn = server.createobject("ADODB.Connection")
objConn.Open sConnectionString
set rs = server.CreateObject("ADODB.Recordset")
	rs.open "SELECT * FROM [sheet1$]",objConn
		response.write "nb champs = " & rs.fields.count & "<br>" 
		response.Write("<table>"  + Chr(13) + Chr(10))
		for i= 0 to rs.fields.count-1 
			response.write ("<th>" & rs.fields(i).name & "&nbsp;</th>" + Chr(13) + Chr(10))
		next 
		while not rs.eof 
			response.Write("<tr>" + Chr(13) + Chr(10))
			for i= 0 to rs.fields.count-1 
				response.write ("<td>" & rs.fields(i).value & "&nbsp;</td>" + Chr(13) + Chr(10))
			next 
			response.Write("<tr>" + Chr(13) + Chr(10))
			rs.movenext 
		wend
		response.Write("</table>" + Chr(13) + Chr(10))
	rs.close
set rs = nothing
set objConn = nothing
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2006, 14h48   #7
Membre du Club
 
Inscription : décembre 2005
Messages : 264
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 264
Points : 46
Points : 46
ca marche niquel sauf pour les cellules contenant plus de 255 caractères (je suis pas sur du chiffre mais je pense que c'est ca)

perso, j'aurais fait comme toi mais comme j'ai pas le droit de refaire le monde,
suis obligé de travailler avec ca...

Bref, toi en faisant comme tu fais, tu n'as pas de problème de récupération de cellules avec trop de caractères ?

Cimer d'avance
Australia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2006, 16h22   #8
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
Aucun. J'ai essayé avec une cellule contenant 16032 caractères et ça marche.
Par contre, je crois qu'il faut que le contenu des cellules soit homogène. Si j'ajoute une formule pour calculer la longueur de la chaine, ça plante et je ne vois plus que le nombre de caractères (16032).

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2006, 17h30   #9
Membre du Club
 
Inscription : décembre 2005
Messages : 264
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 264
Points : 46
Points : 46
pô compris,
tu as essayer avec ta méthode ou avec ma méthode ?
Australia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2006, 17h38   #10
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
Euh la mienne dslé.
Je vois que le pilote de connection change entre ta methode et la mienne. C'est peut-être ça aussi.
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 16h49.


 
 
 
 
Partenaires

Hébergement Web