"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MisDatos\;Extended
Properties=\"text;HDR=Yes;FMT=Delimited\";"
y subirlo a un DataSet mediante un procedimiento similar a este :
private DataSet RecuperarOrigenDatos()
{
string lcTabla = txtTabla.Text ; // txtTabla es un control TextBox
donde capturo el nombre del archivo...
string lcSql = "Select * from " + lcTabla.Trim() ;
string lcConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\MisDatos\;Extended Properties=\"text;HDR=Yes;FMT=Delimited\";";
DataSet oDs = new DataSet();
OleDbConnection oConn = new OleDbConnection(lcConn);
OleDbDataAdapter oDa = new OleDbDataAdapter();
try
{
oDa.SelectCommand = new OleDbCommand( lcSql, oConn );
oDa.Fill(oDs);
return oDs;
}
catch (Exception ex)
{
MessageBox.Show( "Error : " + ex.Message );
return null;
} }
El DataSet que retorna el método, lo puedes usar como el DataSource del
DataGrid.
Cordial saludo,
Mauricio Atanache G.
Aunque en otro mensaje ya te han dicho cómo leer el archivo mediante
OleDb, si por algún motivo no te conviene hacerlo así (por ejemplo, en 64
bits no funciona, o si no quieres preocuparte de que en el equipo donde se
va a ejecutar exista la versión correcta de los MDAC), entonces puedes
hacerlo abriendo directamente el fichero con un StreamReader, leyendo linea
por línea, y troceándolas por las comas con String.Split. Algo parecido a lo
siguiente (tecleado de memoria, sin probar).
using System.IO;
...
using (StreamReader rdr = new StreamReader(fichero))
{
string linea;
while (null!=(linea=rdr.ReadLine()))
{
string[] columnas = linea.Split(new char[]{','});
//Ahora ya tienes un array con las columnas, y puedes
//procesarlas con un bucle, por ejemplo para añadirlas
//a la siguiente fila de un grid
}
}