Manually Add Header in CsvHelper.CsvWriter

只愿长相守 提交于 2019-12-05 01:45:13

This is actually in the documentation under Writing to a CSV using a DataTable.

I'll put the code example here too.

using( var dt = new DataTable() )
{
    dt.Load( dataReader );
    foreach( DataColumn column in dt.Columns )
    {
        csv.WriteField( column.ColumnName );
    }
    csv.NextRecord();

    foreach( DataRow row in dt.Rows )
    {
        for( var i = 0; i < dt.Columns.Count; i++ )
        {
            csv.WriteField( row[i] );
        }
        csv.NextRecord();
    }
}

Headers aren't anything special or different in a CSV file.

The easiest way is to use

writer.WriteHeader<YourClass>();

More complete example:

using (StreamWriter sw = new StreamWriter(@"C:\output.csv"))
{
  using (CsvWriter writer = new CsvWriter(sw))
  {
     writer.WriteHeader<YourClass>();

     writer.WriteRecord(yourRecordVariable);
  }
}

As was posted here on Google groups by the author Josh Close.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!