Table of Contents

Class CsvWriter

Namespace
CsvHelper
Assembly
CsvHelper.dll

Used to write CSV files.

public class CsvWriter : IWriter, IWriterRow, IDisposable, IAsyncDisposable
Inheritance
CsvWriter
Implements
Inherited Members

Constructors

CsvWriter(TextWriter, IWriterConfiguration, bool)

Initializes a new instance of the CsvWriter class.

public CsvWriter(TextWriter writer, IWriterConfiguration configuration, bool leaveOpen = false)

Parameters

writer TextWriter

The writer.

configuration IWriterConfiguration

The configuration.

leaveOpen bool

true to leave the TextWriter open after the CsvWriter object is disposed, otherwise false.

CsvWriter(TextWriter, CultureInfo, bool)

Initializes a new instance of the CsvWriter class.

public CsvWriter(TextWriter writer, CultureInfo culture, bool leaveOpen = false)

Parameters

writer TextWriter

The writer.

culture CultureInfo

The culture.

leaveOpen bool

true to leave the TextWriter open after the CsvWriter object is disposed, otherwise false.

Properties

Configuration

public virtual IWriterConfiguration Configuration { get; }

Property Value

IWriterConfiguration

Context

public virtual CsvContext Context { get; }

Property Value

CsvContext

HeaderRecord

public virtual string?[]? HeaderRecord { get; }

Property Value

string[]

Index

public virtual int Index { get; }

Property Value

int

Row

public virtual int Row { get; }

Property Value

int

Methods

CanWrite(MemberMap)

Indicates if values can be written.

public virtual bool CanWrite(MemberMap memberMap)

Parameters

memberMap MemberMap

The member map.

Returns

bool

True if values can be written.

Dispose()

public void Dispose()

Dispose(bool)

Disposes the object.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Indicates if the object is being disposed.

DisposeAsync()

public ValueTask DisposeAsync()

Returns

ValueTask

DisposeAsync(bool)

protected virtual ValueTask DisposeAsync(bool disposing)

Parameters

disposing bool

Returns

ValueTask

Flush()

public virtual void Flush()

FlushAsync()

public virtual Task FlushAsync()

Returns

Task

FlushBuffer()

Flushes the buffer.

protected virtual void FlushBuffer()

FlushBufferAsync()

Asynchronously flushes the buffer.

protected virtual Task FlushBufferAsync()

Returns

Task

GetTypeInfoForRecord<T>(T?)

Determines the type for the given record.

public virtual RecordTypeInfo GetTypeInfoForRecord<T>(T? record)

Parameters

record T

The record to determine the type of.

Returns

RecordTypeInfo

The System.Type for the record.

Type Parameters

T

The type of the record.

NextRecord()

public virtual void NextRecord()

NextRecordAsync()

public virtual Task NextRecordAsync()

Returns

Task

SanitizeForInjection(string?)

Sanitizes the given field, before it is injected.

protected virtual string? SanitizeForInjection(string? field)

Parameters

field string

The field to sanitize.

Returns

string

The sanitized field.

Exceptions

WriterException

Thrown when an injection character is found in the field.

WriteComment(string?)

public virtual void WriteComment(string? text)

Parameters

text string

WriteConvertedField(string?, Type)

public virtual void WriteConvertedField(string? field, Type fieldType)

Parameters

field string
fieldType Type

WriteDynamicHeader(IDynamicMetaObjectProvider?)

Writes a dynamic header record.

public virtual void WriteDynamicHeader(IDynamicMetaObjectProvider? record)

Parameters

record IDynamicMetaObjectProvider

The header record to write.

Exceptions

ArgumentNullException

Thrown when no record is passed.

WriteField(string?)

public virtual void WriteField(string? field)

Parameters

field string

WriteField(string?, bool)

public virtual void WriteField(string? field, bool shouldQuote)

Parameters

field string
shouldQuote bool

WriteField<T>(T?)

public virtual void WriteField<T>(T? field)

Parameters

field T

Type Parameters

T

WriteField<T>(T?, ITypeConverter)

public virtual void WriteField<T>(T? field, ITypeConverter converter)

Parameters

field T
converter ITypeConverter

Type Parameters

T

WriteField<T, TConverter>(T?)

public virtual void WriteField<T, TConverter>(T? field)

Parameters

field T

Type Parameters

T
TConverter

WriteHeader(Type)

public virtual void WriteHeader(Type type)

Parameters

type Type

WriteHeader<T>()

public virtual void WriteHeader<T>()

Type Parameters

T

WriteRecord<T>(T?)

public virtual void WriteRecord<T>(T? record)

Parameters

record T

Type Parameters

T

WriteRecords(IEnumerable)

public virtual void WriteRecords(IEnumerable records)

Parameters

records IEnumerable

WriteRecordsAsync(IEnumerable, CancellationToken)

public virtual Task WriteRecordsAsync(IEnumerable records, CancellationToken cancellationToken = default)

Parameters

records IEnumerable
cancellationToken CancellationToken

Returns

Task

WriteRecordsAsync<T>(IAsyncEnumerable<T>, CancellationToken)

public virtual Task WriteRecordsAsync<T>(IAsyncEnumerable<T> records, CancellationToken cancellationToken = default)

Parameters

records IAsyncEnumerable<T>
cancellationToken CancellationToken

Returns

Task

Type Parameters

T

WriteRecordsAsync<T>(IEnumerable<T>, CancellationToken)

public virtual Task WriteRecordsAsync<T>(IEnumerable<T> records, CancellationToken cancellationToken = default)

Parameters

records IEnumerable<T>
cancellationToken CancellationToken

Returns

Task

Type Parameters

T

WriteRecords<T>(IEnumerable<T>)

public virtual void WriteRecords<T>(IEnumerable<T> records)

Parameters

records IEnumerable<T>

Type Parameters

T

WriteToBuffer(string?)

Writes the given value to the buffer.

protected void WriteToBuffer(string? value)

Parameters

value string

The value to write.