Charger fichier txt dans un dataset en vb net

Résolu
Syphou Messages postés 52 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 6 juin 2011 - 25 avril 2007 à 10:37
Syphou Messages postés 52 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 6 juin 2011 - 25 avril 2007 à 11:49
Bonjour,
Je possède un fichier au format txt contenant 30 000 articles.
Le fichier est sutructuré en différente colonne séparée par une tabulation. Si j'ouvre excel et que je fai importe le fichier il me les met bien dans des colonnes. Donc le fichier txt est OK.
Ce que j'aimerai bien cest importer ce fichier dans une table d'un dataset.

J'arrive a charger un fichier excel dans une table mais je doit charger le fichier txt.
Evidemment je pourrai manuellement importer le fichier txt dans excel, sauvegarder puis l'importer par programmation dans un dataset, mais je voudrai bien tout faire par programmation.

Quelqu'un sais comment faire? soit par programmation charger le fichier txt dans excel, ensuite je chargerai par programmation le fichier excel dans un dataset. Soit encore mieu directement charger le fichier txt dans mon dataset.

Merci

3 réponses

Syphou Messages postés 52 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 6 juin 2011
25 avril 2007 à 11:49
Changement de tactique ^^

Je vais lire mon fichier séquentiellement, et spliter avec le cartatère TAB
Je me retrouve anisi chaque foi avec un tableau de chaine, exactement comme si javais une table avec des colonnes


Try








Dim
sr

As
StreamReader =

New
StreamReader("MonFichier.txt", System.Text.Encoding.ASCII)


Dim
ligne

As



String






Dim
TabLigne()

As



String

ligne = sr.ReadLine




'saute la premiere ligne (cest les titres des colonnes)






Do

ligne = sr.ReadLine


TabLigne = ligne.Split(ControlChars.Tab)


TabLigne(0)
TabLigne(1)
TabLigne(2)
...







Loop



Until
ligne

Is



Nothing

sr.Close()







Catch
ex

As
Exception


End



Try

Merci quand meme :-)
3
Shad108 Messages postés 8 Date d'inscription mardi 26 juillet 2005 Statut Membre Dernière intervention 29 mai 2007
25 avril 2007 à 10:57
Bonjour,

J'ai fais ca il n'y pas très longtemps par contre ton fichier source a un petit inconvénient c'est qu'il n'utilise pas le séparateur normal pour ce genre de fichier qui devrait être le point-virgule, sinon pour info pour charger ton fichier dans un recordset ADO:

connection_fichier_csv.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='lerepertoiredetonfichier';Extended Properties='text;HDR=Yes;FMT=Delimited'"

connection_fichier_csv.Open

ensuite tu ouvre le fichier csv que tu veux dans ce répertoire:

requete = "select * from ["lenomdetonfichier"]"
rs_fichier_csv.Open requete, connection_fichier_csv, adOpenStatic, adLockReadOnly

pour parcourir tes enregistrements:

Do While Not rs_fichier_csv.EOF
ligne = Split(rs_fichier_csv.Fields(0), ";")

'Change d'enregistrement
rs_fichier_csv.MoveNext
loop

J'espere que ca pourra t'aider.

@+
0
Syphou Messages postés 52 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 6 juin 2011
25 avril 2007 à 11:49
Changement de tactique ^^

Je vais lire mon fichier séquentiellement, et spliter avec le cartatère TAB
Je me retrouve anisi chaque foi avec un tableau de chaine, exactement comme si javais une table avec des colonnes


Try








Dim
sr

As
StreamReader =

New
StreamReader("MonFichier.txt", System.Text.Encoding.ASCII)


Dim
ligne

As



String






Dim
TabLigne()

As



String

ligne = sr.ReadLine




'saute la premiere ligne (cest les titres des colonnes)






Do

ligne = sr.ReadLine


TabLigne = ligne.Split(ControlChars.Tab)


TabLigne(0)
TabLigne(1)
TabLigne(2)
...







Loop



Until
ligne

Is



Nothing

sr.Close()







Catch
ex

As
Exception


End



Try
-1
Rejoignez-nous