CsvSave(DataTable, String, Char, IFormatProvider, Encoding, IEnumerableString, String) Method

Saves the content of a DataTable as a CSV file with header row.

Definition

Namespace: FolkerKinzel.CsvTools
Assembly: FolkerKinzel.CsvTools (in FolkerKinzel.CsvTools.dll) Version: 2.0.1+2345335399184346d9b2cc992ed5c814406052c1
C#
public static void Save(
	DataTable dataTable,
	string filePath,
	char delimiter = ',',
	IFormatProvider? formatProvider = null,
	Encoding? textEncoding = null,
	IEnumerable<string>? csvColumnNames = null,
	string? format = null
)

Parameters

dataTable  DataTable
The DataTable to save.
filePath  String
The file path of the CSV file to be written.
delimiter  Char  (Optional)
The field separator character.
formatProvider  IFormatProvider  (Optional)

The provider to use to format the value.

- or -

A null reference for InvariantCulture.

textEncoding  Encoding  (Optional)
The Encoding to be used or null for UTF8.
csvColumnNames  IEnumerableString  (Optional)

A collection of ColumnNames from dataTable that allows to select the DataColumns to export and to determine their order in the CSV file, or null to save the whole DataTable using its current column order.

Each item in this collection MUST be a ColumnName in dataTable.

format  String  (Optional)

A format String to use for all items that implement IFormattable.

- or -

A null reference to use the default format for each item.

Remarks

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

For serialization ToString(String, IFormatProvider) is used if the item implements IFormattable, otherwise ToString.

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

Exceptions

ArgumentNullExceptiondataTable or filePath is null.
ArgumentException

filePath is not a valid file path.

- or -

csvColumnNames contains an item that is not a ColumnName in dataTable.

ArgumentOutOfRangeExceptiondelimiter is either the double quotes " or a line break character ('\r' or '\n').
IOExceptionI/O error.

See Also