在 CsvHelper.CsvWriter 中手动添加 Header
Manually Add Header in CsvHelper.CsvWriter
我正在使用 CsvHelper
class 将 DataTable
中的行写入 csv 文件。该代码有效,但我无法编写 headers.
如何在不创建 Class 地图的情况下手动添加 headers?
http://joshclose.github.io/CsvHelper/
DataTable dt = GetDataTableFromDB();
System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
System.IO.StreamWriter streamWriter = new System.IO.StreamWriter( memoryStream );
CsvHelper.CsvWriter writer = new CsvHelper.CsvWriter( streamWriter );
foreach ( DataColumn column in properties.Columns )
writer.WriteHeader( column.ColumnName ); //<--- How do I write to column
foreach ( DataRow row in dt.Rows )
{
foreach ( object item in row.ItemArray )
writer.WriteField( item.ToString() );
writer.NextRecord();
}
更新:
DataTable
功能现已内置。 https://joshclose.github.io/CsvHelper/examples/data-table
原文:
这个其实是在Writing to a CSV using a DataTable
下的documentation.
我也把代码示例放在这里。
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 在 CSV 文件中没有任何特殊或不同之处。
最简单的方法是使用
writer.WriteHeader<YourClass>();
更完整的示例:
using (StreamWriter sw = new StreamWriter(@"C:\output.csv"))
{
using (CsvWriter writer = new CsvWriter(sw))
{
writer.WriteHeader<YourClass>();
writer.WriteRecord(yourRecordVariable);
}
}
正如作者 Josh Close 在 Google 组上发布的 here。
我正在使用 CsvHelper
class 将 DataTable
中的行写入 csv 文件。该代码有效,但我无法编写 headers.
如何在不创建 Class 地图的情况下手动添加 headers?
http://joshclose.github.io/CsvHelper/
DataTable dt = GetDataTableFromDB();
System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
System.IO.StreamWriter streamWriter = new System.IO.StreamWriter( memoryStream );
CsvHelper.CsvWriter writer = new CsvHelper.CsvWriter( streamWriter );
foreach ( DataColumn column in properties.Columns )
writer.WriteHeader( column.ColumnName ); //<--- How do I write to column
foreach ( DataRow row in dt.Rows )
{
foreach ( object item in row.ItemArray )
writer.WriteField( item.ToString() );
writer.NextRecord();
}
更新:
DataTable
功能现已内置。 https://joshclose.github.io/CsvHelper/examples/data-table
原文:
这个其实是在Writing to a CSV using a DataTable
下的documentation.
我也把代码示例放在这里。
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 在 CSV 文件中没有任何特殊或不同之处。
最简单的方法是使用
writer.WriteHeader<YourClass>();
更完整的示例:
using (StreamWriter sw = new StreamWriter(@"C:\output.csv"))
{
using (CsvWriter writer = new CsvWriter(sw))
{
writer.WriteHeader<YourClass>();
writer.WriteRecord(yourRecordVariable);
}
}
正如作者 Josh Close 在 Google 组上发布的 here。