2012-03-08 53 views
4

是否有任何形式的语句将数据行转换为CSV行,以便将其写入.csv文件? (带或不带之间的步骤)Datarow to CSV line C#

+1

你有没有看这个问题[在.net中编写CSV文件](http://stackoverflow.com/questions/1684667/writing-a-csv-file-in-net)(特别是[这个答案](http://stackoverflow.com/a/2315185/164966)),在这和之间[这些示例](http://msdn.microsoft.com/zh-cn/library/bb386916.aspx)Linq到DataSets,您可能可以在10行代码中编写导出。 – R0MANARMY 2012-03-08 07:08:31

回答

3

尝试用下面的代码:

StringBuilder sb = new StringBuilder(); 

var columnNames = dt.Columns.Cast<DataColumn>().Select(column =>  column.ColumnName).ToArray(); 
sb.AppendLine(string.Join(",", columnNames)); 

foreach (DataRow row in dt.Rows) 
{ 
    var fields = row.ItemArray.Select(field => field.ToString()).ToArray(); 
    sb.AppendLine(string.Join(",", fields)); 
} 

File.WriteAllText("test.csv", sb.ToString()); 
+0

测试这一个 – Dashzapp 2012-03-08 08:36:31

+0

不错的代码文件! – Dashzapp 2012-03-08 09:04:01

+0

但不完全工作... – Dashzapp 2012-03-08 09:20:35

0

我看this前些天:

根据您可以编写代码,像这样的快速入门:

[DelimitedRecord(",")] 
public class Customer 
{ 
    public int CustId;  
    public string Name; 
    public decimal Balance; 
} 
FileHelperEngine engine = new FileHelperEngine(typeof(Customer)); 
Customer[] res = engine.ReadFile("FileIn.txt") as Customer[]; 
engine.WriteFile("FileOut.txt", res);