Manera más rápida de leer csv a grilla
He seguido en Windows Forms .NET 3.5
Funciona bien para CSV con registros de menos de 10,000, pero es más lento para registros de más de 30,000. La entrada del archivo csv puede hacer cualquier registro entre 1 - 1,00,000 registros
Código utilizado actualmente:
/// <summary>
/// This will import file to the collection object
/// </summary>
private bool ImportFile()
{
try
{
String fName;
String textLine = string.Empty;
String[] splitLine;
// clear the grid view
accountsDataGridView.Rows.Clear();
fName = openFileDialog1.FileName;
if (System.IO.File.Exists(fName))
{
System.IO.StreamReader objReader = new System.IO.StreamReader(fName);
do
{
textLine = objReader.ReadLine();
if (textLine != "")
{
splitLine = textLine.Split(',');
if (splitLine[0] != "" || splitLine[1] != "")
{
accountsDataGridView.Rows.Add(splitLine);
}
}
} while (objReader.Peek() != -1);
}
return true;
}
catch (Exception ex)
{
if (ex.Message.Contains("The process cannot access the file"))
{
MessageBox.Show("The file you are importing is open.", "Import Account", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
else
{
MessageBox.Show(ex.Message);
}
return false;
}
}
Ejemplo de archivo de entrada:
18906, Y
18908, Y
18909, Y
18910, Y
18912, N
18913, N
Necesita algún consejo para optimizar este código para lecturas rápidas y ver en cuadrícula.