Bonjour,
Comme l'indique l'intitulé je suis à la recherche d'utilisateur de cette superbe Class, mais qui manque cruellement de documentation.
Pour ceux qui ont déjà exploité cette outil :
Je cherche à exploiter tel ou tel autre ClassMap en fonction de l'entête du fichier.
Avez vous une idée sur la méthodologie ?
Merci.
Pour ceux qui ne connaisse pas cela permet de transformer votre contenu CSV en un objet ou vice-versa, en fonction d'une class.
Votre fichier CSV
Votre Class où vous n'êtes pas obligé de déclarer l'ensemble de vos colonnes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 personId | FName | LName | BookId | BookName | PageId 1 | name1 | name1 | 1 | book1 | 1 1 | name1 | name1 | 1 | book1 | 2 1 | name1 | name1 | 1 | book1 | 3 1 | name1 | name1 | 2 | book2 | 1 1 | name1 | name1 | 2 | book2 | 2 2 | name2 | name2 | 3 | book3 | 1 2 | name2 | name2 | 3 | book3 | 2 2 | name2 | name2 | 3 | book3 | 3
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public class DataBook { public string? personId { get; set; } public string? FName { get; set; } public string? BookId { get; set; } }
Votre appel :
Vous pouvez même exploitez des "schémas" sans modifier votre class si vous ne souhaitez pas exploiter l'une de vos colonnes dans un cas précis.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 using (CsvReader csv = new(reader, config)) { List<DataBook>? recordsImport = csv.GetRecords<DataBook>().ToList(); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 using (CsvReader csv = new(reader, config)) { csv.Context.RegisterClassMap<ImportShort >(); List<DataBook>? recordsImport = csv.GetRecords<DataBook>().ToList(); }
Il plein d'autre mécanisme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public class ImportShort : ClassMap<DataBook> { public ImportShort () { Map(m => m.personId); Map(m => m.FName).Ignore(); Map(m => m.BookId); } }
Partager