Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

leer un archivo csv desde c#

1,696 views
Skip to first unread message

paulcc84

unread,
Feb 23, 2010, 8:00:05 PM2/23/10
to
Hola a todos necesito saber como se lee un archivo csv con c# y cargarlo en
un grid
si alguien sabe se lo agradeceria hasta pronto
--
desarrollo

Mauricio Atanache

unread,
Feb 23, 2010, 11:07:25 PM2/23/10
to
Hola, puedes abrir el archivo csv con el proveedor de datos de OleDb, usando
una cadena de conexión similar a esta :

"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.

Alberto Poblacion

unread,
Feb 24, 2010, 2:45:12 AM2/24/10
to
"paulcc84" <paul...@gmail.com> wrote in message
news:E6849AC5-F9B5-4943...@microsoft.com...

> Hola a todos necesito saber como se lee un archivo csv
> con c# y cargarlo en un grid

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
}
}

Message has been deleted
0 new messages