Convert DataTable to CSV String
Converts a DataTable to a CSV-formatted string.
The function includes the column headers as the first line. All cell values are converted to strings using ToString() , without escaping delimiters or quotes. It does not handle special characters like newlines or field separators within the data.
VB
Public Function ConvertDataTable2CsvString(DataTable As Data.DataTable,
Optional RecordSeparator As String = vbCrLf,
Optional FieldSeparator As String = ";") As String
Dim szData As String = String.Empty
Dim headerValues As IEnumerable(Of String) = DataTable.Columns.OfType(Of Data.DataColumn).Select(Function(column) column.ColumnName)
szData = String.Join(FieldSeparator, headerValues)
Dim items As IEnumerable(Of String) = Nothing
For Each row As Data.DataRow In DataTable.Rows
items = row.ItemArray.Select(Function(obj) obj.ToString())
szData = szData + RecordSeparator + String.Join(FieldSeparator, items)
Next
Return szData
End Function