C# 从数据表导出时,如何删除csv文件第一行的列名?

C# 从数据表导出时,如何删除csv文件第一行的列名?,c#,datatable,export-to-csv,C#,Datatable,Export To Csv,我有一个成功导出到csv文件的数据表 事情是这样的 StringBuilder sb = new StringBuilder(); IEnumerable<string> columnNames = tabelaSISH1.Columns.Cast<DataColumn>(). Select(column => column.ColumnName); sb.Append

我有一个成功导出到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()); 
结果失败了

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));
} 
它再次失败,两个都删除了datatable的第一行,但没有删除csv文件上的列名


提示?

您将显式获取列名,并将其写入StringBuilder,然后用于将CSV文件写入磁盘

只需删除这两行:

IEnumerable<string> columnNames =
    tabelaSISH1.Columns.Cast<DataColumn>().Select(column => column.ColumnName);

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

sb.AppendLine(string.Join(";", columnNames));