【发布时间】:2015-04-15 18:10:44
【问题描述】:
我有一个 datatable 可以成功导出到 csv 文件中。
事情是这样的
StringBuilder sb = new StringBuilder();
IEnumerable<string> columnNames = tabelaSISH1.Columns.Cast<DataColumn>().
Select(column => column.ColumnName);
sb.AppendLine(string.Join(";", columnNames));
foreach (DataRow row in tabelaSISH1.Rows)
{
IEnumerable<string> fields = row.ItemArray.Select(field => field.ToString());
sb.AppendLine(string.Join(";", fields));
}
File.WriteAllText(xmlDialog1.FileName, sb.ToString());
但问题是 csv 文件的第一行始终是列名。我不想要那个。
我希望删除带有列名的行,但显然所发生的只是删除了数据表的第一行,而不是列名。
tabelaSISH1.Rows.RemoveAt(0);
它失败了。
for (int row = 1; row < tabelaSISH1.Rows.Count; row++)
{
IEnumerable<string> fields = tabelaSISH1.Rows[row].ItemArray.Select(field => field.ToString());
sb.AppendLine(string.Join(";", fields));
}
它又失败了,都删除了数据表的第一行,但没有删除 csv 文件上的列名。
提示?
【问题讨论】:
标签: c# datatable export-to-csv