2007年3月12日 星期一

[C#] DataTable to CSV

有時候可能會需要將某的Table全部匯出成 CSV , 雖然可以只接用 SQL Server 直接匯出來但是可能有時候會需要程式中轉出來,還有一點要注意在匯出完要存檔的時候,記得要將編碼轉成BIG5的,不然會拿去匯入資料庫的時候,中文可能會出現亂碼的情形,因為.NET預設的編碼是Unicode

StreamWriter CSVsw =new StreamWriter(Sourcefile,false,System.Text.Encoding.Default);

private string CSVExplor(DataTable tb)
{
Mydatas="";
foreach (DataRow row in tb.Rows)
{
foreach (DataColumn column in tb.Columns)
{ if (column.DataType==System.Type.GetType("System.DateTime"))
{
IFormatProvider culture = new System.Globalization.CultureInfo("en-US", true);
Mydatas += Convert.ToDateTime(row[column].ToString()).ToUniversalTime().ToString(culture) + ","; }
else
{
Mydatas += row[column].ToString() + ",";
}
}
Mydatas += "\r\n"; } return Mydatas;
}

沒有留言: