Lecture et affichage d'un fichier avec délimiteur (type csv avec ;).

Contenu du snippet

Ce code permet simplement d'afficher le contenu de n'importe quel fichier de type CSV (avec un ';' ou autre comme séparateurs de champs) dans un tableau.

Le code est suffisament commenté pour comprendre le fonctionnement et éventuellement le personnaliser.

Source / Exemple :


<%
'Nom du fichier à traiter
csv_to_read="fichier.csv"

'Ouverture du fichier.
set fso = createobject("scripting.filesystemobject")
set act = fso.opentextfile(server.mappath(csv_to_read))

'============================================================
'ETAPE 1 :
'TRAITEMENT DE LA PREMIERE LIGNE : nom des champs.
'(Supprimer cette partie si pas nom de champs en 1er ligne).
'============================================================
'Lecture du fichier.
imported_text = act.readline

'Suppression des doubles quotes.
imported_text = replace(imported_text,chr(34),"")

'Suppression des retours à ligne et ajout d'un ";".
imported_text = replace(imported_text,chr(13),";")

'Traitement du nom des champs.
split_text=split(imported_text,";")
num_imported=ubound(split_text)+1
'============================================================

'============================================================
'ETAPE 2 :
'TRAITEMENT DU RESTE DU FICHIER : les valeurs des champs
'============================================================
'Lecture du fichier.
total_imported_text = act.readall

'Suppression des doubles quotes.
total_imported_text = replace(total_imported_text,chr(34),"")

'Si valeur du champ vide (;"";), on ajoute "-".
total_imported_text = replace(total_imported_text,";;",";-;")

'Traitement du nom des champs.
total_split_text=split(total_imported_text,";")
total_num_imported=ubound(total_split_text)
'============================================================

%>
<table width="100%">
<tr>
<%
'=================================================================
'Création des cellules du tableau pour affichage du nom des champs 
For table = 0 To num_imported -1
%>
	<td width="<% response.write 100/(num_imported) 'largeur auto de la cellule %>%"><font face="Verdana" size="1">
	<b><%= split_text(count) %></b>
	</font></td>
<% 
	count=count+1
Next
'=================================================================
%>
</tr>
<tr>
<%
'Remise à zéro du compteur
count=0
' Détermine le nombre de colonne pour le fichier.
For tablea = 0 To (total_num_imported/ (num_imported)-1)
%>
<%
'=================================================================
'Création des cellule pour les colonne du fichier.
For table = 0 To num_imported -1
%><td width="<%= 100/(num_imported) %>%"><font face="Verdana" size="1">
<%= total_split_text(count) 
%>
</font></td>
<% 
count = count + 1
Next 
'=================================================================
%>
</tr>
<% 
Next
%>
</table>
</FONT>

Conclusion :


Je mettrai en fin de journée un code qui permettra d'importer le contenu de ce type de fichier dans une base de données.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.