Это был мой первый смертельный удар по нему
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 (v4.44.9) поддерживает таблицы данных в
Util.WriteCSV
см. http://www.linqpad.net/beta.aspx.
Тем временем, если вам нужно сгенерировать CSV-файл для таблицы данных в более старых версиях, вы можете следовать приведенным ниже инструкциям:
В итоге я написал специальную процедуру для этого, так как кажется, что бета-версия (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();
}