这是我第一次致命一击
Util.WriteCsv<DataTable>(myDataTable, filePath);
我得到的例外是 'System.Data.DataTable' 到 'System.Collections.Generic.IEnumerable'
这是我第一次致命一击
Util.WriteCsv<DataTable>(myDataTable, filePath);
我得到的例外是 'System.Data.DataTable' 到 'System.Collections.Generic.IEnumerable'
事实证明,最新的 linqpad beta 版本(v4.44.9)支持数据表
Util.WriteCSV
见http://www.linqpad.net/beta.aspx
同时,如果您需要为旧版本的数据表生成 csv 文件,您可以按照以下说明进行操作:
我最终编写了一个自定义程序来执行此操作,因为似乎 beta 版本 (4.44.06) 期待 IEnumerable,即使在我将 .AsIEnumerable() 放在 myDataTable 上之后,它也不是正确的:
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();
}