CsvConverterSaveTSource(IEnumerableTSource, String, Int32, CsvMapping, ActionTSource, Object, Char, Encoding) Method

Saves a collection of TSource instances as a CSV file without header row.

Definition

Namespace: FolkerKinzel.CsvTools.Mappings
Assembly: FolkerKinzel.CsvTools.Mappings (in FolkerKinzel.CsvTools.Mappings.dll) Version: 1.1.0+1263e8243dc2cd78095f678f813d7d9c52ea4315
C#
public static void Save<TSource>(
	IEnumerable<TSource> data,
	string filePath,
	int columnsCount,
	CsvMapping mapping,
	Action<TSource, Object> conversion,
	char delimiter = ',',
	Encoding? textEncoding = null
)

Parameters

data  IEnumerableTSource
The data to save as CSV file. Each item will be represented with a CSV row.
filePath  String
File path of the CSV file.
columnsCount  Int32
Number of columns in the CSV file.
mapping  CsvMapping
The CsvMapping used to convert a TSource instance to a CSV row.
conversion  ActionTSource, Object

A method that fills the content of a TSource instance into the properties of mapping.

conversion is called with each CSV row to be written and it gets the TSource instance and mapping as arguments. mapping is passed to the method as dynamic argument: Inside the conversion method the registered DynamicProperty instances can be used like regular .NET properties, but without IntelliSense ("late binding").

With each call of conversion all DynamicProperty instances in mapping are reset to their DefaultValue.

delimiter  Char  (Optional)
The field separator character.
textEncoding  Encoding  (Optional)
The text encoding to be used or null for UTF8.

Type Parameters

TSource
Generic type parameter for the data type to write as CSV row.

Remarks

Creates a new CSV file. If the target file already exists, it is truncated and overwritten.

When exchanging CSV data with Excel, the appropriate arguments can be determined with GetExcelArguments.

Exceptions

ArgumentNullExceptionfilePath, or data, or mapping, or conversion is null.
ArgumentExceptionfilePath is not a valid file path.
ArgumentOutOfRangeExceptioncolumnsCount is negative.
IOExceptionI/O error.

See Also