Réponses:
Essayez CsvHelper . Il est aussi facile à utiliser que FastCsvReader et écrit également. J'ai été très satisfait de FastCsvReader dans le passé, mais j'avais besoin de quelque chose qui écrit aussi, et je n'étais pas satisfait de FileHelpers.
En train de lire:
var csv = new CsvReader( stream );
var myCustomTypeList = csv.GetRecords<MyCustomType>();
L'écriture:
var csv = new CsvWriter( stream );
csv.WriteRecords( myCustomTypeList );
Divulgation complète: Je suis l'auteur de cette bibliothèque.
WriteField
. Consultez la documentation ici joshclose.github.io/CsvHelper
CsvHelper
. Peut-être pourrait-il offrir des stratégies de lecture alternatives à cet endroit? Au fait, j'ai supprimé ma remarque originale, car elle n'est plus pertinente :-)
Il y a quelques options, directement dans le cadre lui-même.
L'une des plus simples consiste à référencer Microsoft.VisualBasic, puis à utiliser TextFieldParser . Il s'agit d'un lecteur CSV entièrement fonctionnel dans le cadre de base.
Une autre bonne alternative consiste à utiliser des ensembles de données pour lire les fichiers CSV .
Sébastien Lorion a un excellent CSV
lecteur sur CodeProject appelé A Fast CSV Reader . Probablement l'un des meilleurs pour C # et c'est gratuit.
En ce qui concerne l'écriture, utilisez simplement StreamWriter
.
Voici un code standard pour écrire un DataGridView
dans un fichier:
private void exportDGVToCSV(string filename)
{
if (dataGridView1.Columns.Count != 0)
{
using (Stream stream = File.OpenWrite(filename))
{
stream.SetLength(0);
using (StreamWriter writer = new StreamWriter(stream))
{
// loop through each row of our DataGridView
foreach (DataGridViewRow row in dataGridView1.Rows)
{
string line = string.Join(",", row.Cells.Select(x => $"{x}"));
writer.WriteLine(line);
}
writer.Flush();
}
};
}
}
Oui - même si je suppose que vous demandez des détails?
Essayez FileHelpers
Il y en a des dizaines.
http://www.filehelpers.net/ est l'un des plus courants.
Je dois dire que je trouve Filehelpers restrictif dans certains scénarios et que j'utilise à la place The Fast CSV Reader . D'après mon expérience, si vous ne connaissez pas le format de votre fichier CSV ou importez le mappage jusqu'à l'exécution, c'est la meilleure bibliothèque à utiliser.
.net csv library
. La preuve, quoique anecdotique, pour mon affirmation est que cette question a été vue plus de 22 000 fois au cours des six dernières années.