Linqpad如何使用Util.WriteCSV使用Beta版LinqPad将数据表写入excel

时间:2013-03-15 20:46:30

标签: linqpad

这是我第一次致死它

Util.WriteCsv<DataTable>(myDataTable, filePath);
  

我得到的例外是'System.Data.DataTable'   'System.Collections.Generic.IEnumerable'

1 个答案:

答案 0 :(得分:6)

最新的linqpad beta版(v4.44.9)支持

中的数据表
Util.WriteCSV 

请参阅http://www.linqpad.net/beta.aspx

与此同时,如果您需要为旧版本的数据表生成csv文件,可以按照以下说明操作:

我最终编写了一个自定义过程来执行此操作,因为看起来beta版本(4.44.06)期待IEnumerable,即使我在myDataTable上放置.AsIEnumerable()之后,它也没有出现:

public static void ExportToCSV(DataTable table, string filePath)
{
  var sb = new StringBuilder();
  foreach (DataColumn column in table.Columns)
  {
    sb.Append(column.ColumnName + ",");
  }

  sb.Append(Environment.NewLine);

  foreach (DataRow row in table.Rows)
  {
    for (int i = 0; i < table.Columns.Count; i++)
    {
      sb.Append(row[i].ToString().Replace(",", string.Empty) + ",");
    }
    sb.Append(Environment.NewLine);
  }

 System.IO.File.WriteAllText(filePath, sb.ToString() );
 string.Format("wrote output to {0}", filePath).Dump();

}