csvhelper example c#
¿Hay bibliotecas de lectores/escritores CSV en C#? (5)
Hay docenas.
FileHelpers es uno de los más comunes.
Debo decir que encuentro Filehelpers restrictivo en algunos escenarios, y en su lugar uso The Fast CSV Reader . Según mi experiencia, si no conoce el formato de su archivo CSV o importa la asignación hasta el tiempo de ejecución, esta es la mejor biblioteca para usar.
¿Hay bibliotecas de lectores / escritores CSV en C #?
Hay un par de opciones, justo en el marco mismo.
Una de las más fáciles es hacer referencia a Microsoft.VisualBasic, luego usar TextFieldParser . Es un lector CSV completamente funcional en el marco central.
Otra buena alternativa es usar datasets para leer archivos CSV .
Pruebe CsvHelper . Es tan fácil de usar como FastCsvReader y también lo es. He estado muy contento con FastCsvReader en el pasado, pero necesitaba algo que también lo haga, y no estaba contento con FileHelpers.
Leyendo:
var csv = new CsvReader( stream );
var myCustomTypeList = csv.GetRecords<MyCustomType>();
Escritura:
var csv = new CsvWriter( stream );
csv.WriteRecords( myCustomTypeList );
Divulgación completa: soy el autor de esta biblioteca.
Sí, aunque supongo que en realidad estás pidiendo detalles.
Pruebe FileHelpers
Sebastien Lorion tiene un gran lector de CSV
en CodeProject llamado A Fast CSV Reader . Probablemente uno de los mejores para C # y es gratis.
En cuanto a escribir, simplemente use StreamWriter
.
Aquí hay un código repetitivo para escribir un DataGridView
en un archivo:
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();
}
};
}
}