///
/// This method is used to Convert DataTable to CSV ( comma seperated ) file.
///
///
///
///
public static void DataTable2CSV(DataTable table, string filename, string seperateChar)
{
StreamWriter sr = null;
try
{sr = new StreamWriter(filename);
string seperator = "";
StringBuilder builder = new StringBuilder();
foreach (DataColumn col in table.Columns)
{builder.Append(seperator).Append(col.ColumnName);
seperator = seperateChar;
}sr.WriteLine(builder.ToString());
foreach (DataRow row in table.Rows)
{seperator = "";
builder = new StringBuilder();
foreach (DataColumn col in table.Columns)
{builder.Append(seperator).Append(row[col.ColumnName]);
seperator = seperateChar;}
sr.WriteLine(builder.ToString());
}
}
finally
{if (sr != null)
{sr.Close();
}
}
}
private DataTable GetDataTableFromCSV(string path)
{
string pathOnly = Path.GetDirectoryName(path);
string fileName = Path.GetFileName(path);
string sql = @"SELECT * FROM [" + fileName + "]";
using (OleDbConnection connection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathOnly + ";Extended Properties=\"Text;HDR=" + "Yes" + "\""))
using (OleDbCommand command = new OleDbCommand(sql, connection))
using (OleDbDataAdapter adapter = new OleDbDataAdapter(command))
{
DataTable dataTable = new DataTable() { Locale = CultureInfo.CurrentCulture };
adapter.Fill(dataTable);
return dataTable;
}
}