public static void Save(
DataTable dataTable,
string filePath,
CsvMapping mapping,
char delimiter = ',',
Encoding? textEncoding = null,
IEnumerable<string?>? csvColumnNames = null
)
Public Shared Sub Save (
dataTable As DataTable,
filePath As String,
mapping As CsvMapping,
Optional delimiter As Char = ","C,
Optional textEncoding As Encoding = Nothing,
Optional csvColumnNames As IEnumerable(Of String) = Nothing
)
public:
static void Save(
DataTable^ dataTable,
String^ filePath,
CsvMapping^ mapping,
wchar_t delimiter = L',',
Encoding^ textEncoding = nullptr,
IEnumerable<String^>^ csvColumnNames = nullptr
)
static member Save :
dataTable : DataTable *
filePath : string *
mapping : CsvMapping *
?delimiter : char *
?textEncoding : Encoding *
?csvColumnNames : IEnumerable<string>
(* Defaults:
let _delimiter = defaultArg delimiter ','
let _textEncoding = defaultArg textEncoding null
let _csvColumnNames = defaultArg csvColumnNames null
*)
-> unit
A collection of column names for the CSV header row to be written, or null to use the ColumnNames of dataTable as CSV column names.
The collection determines the order in which the columns appear in the CSV file.
The collection will be copied. If the collection contains null values, empty strings or white space, these are replaced by automatically generated column names. Column names cannot appear twice. By default the comparison is case-sensitive but it will be reset to a case-insensitive comparison if the column names are also unique when treated case-insensitive.
Creates a new CSV file. If the target file already exists, it is truncated and overwritten.
Each PropertyName of mapping MUST have a corresponding DataColumn in dataTable - corresponding in the Caption property (case-insensitive) and the accepted data type.
Effort must be taken that the PropertyNames in mapping are unique, even when treated case-insensitive.
The DynamicProperty instances in mapping don't need to match all columns of the DataTable or all columns of the CSV file (neither in number nor in order).
When exchanging CSV data with Excel, the appropriate arguments can be determined with GetExcelArguments.
ArgumentNullException | dataTable, or filePath, or mapping is null. |
ArgumentException | filePath is not a valid file path. - or - There is a DynamicProperty in mapping whose PropertyName finds no corresponding ColumnName in dataTable. |
InvalidCastException | A value in dataTable does not match the expected data type in mapping. |
FormatException | One of the TypeConverterT instances uses an invalid format string. |
IOException | I/O error. |
ObjectDisposedException | The file was already closed. |