I'm going to explain how extract data from csv file using c#. First you have to declare two string variables and their properties for store directory
and filename of csv file which you want to extract data.
private string dirCSV;
private string
fileNevCSV;
public string
FileNevCSV
{
get { return
fileNevCSV; }
set { fileNevCSV =
value; }
}
public string
dirCSV
{
get { return
dirCSV; }
set { dirCSV = value;
}
}
In the second step connect to the data source and fill it to the dataset.
public DataSet loadCVS(int
noofrows)
{
DataSet ds =
new DataSet();
try
{
// Creates and opens an ODBC connection
string
strConnString = "Driver={Microsoft Text Driver
(*.txt; *.csv)};Dbq=" + this.dirCSV.Trim()
+
";Extensions=asc,csv,tab,txt;Persist Security
Info=False";
string sql_select;
OdbcConnection
conn;
conn =
new OdbcConnection(strConnString.Trim());
conn.Open();
//Creates the select command text
if (noofrows == -1)
{
sql_select
= "select * from [" +
this.FileNevCSV.Trim() +
"]";
}
else
{
sql_select
= "select top " + noofrows +
" * from [" + this.FileNevCSV.Trim()
+ "]";
}
//Creates the data adapter
OdbcDataAdapter obj_oledb_da = new
OdbcDataAdapter(sql_select, conn);
//Fills dataset with the records from
CSV file
obj_oledb_da.Fill(ds, "csv");
//closes the connection
conn.Close();
}
catch (Exception
e) //Error
{
}
return ds;
}
In the third step extract data to DataTable from generated DataSet.
this.dirCSV
= "file path";
this.fileNevCSV ="file
name";
DataSet ds =
loadCVS(-1);
DataTable table =
ds.Tables[0];
foreach (DataRow row in
table.Rows)
{
//iterate
through the DataTable.
}
Thanks.
Happy coding...