Convert .NET Framework objects into Comma-Separated Value (CSV) variable-length strings.
Syntax
ConvertTo-CSV [[-Delimiter] char]
[-InputObject] psobject [-IncludeTypeInformation] [-NoTypeInformation]
[-QuoteFields String[]] [-UseQuotes QuoteKind] [CommonParameters]
ConvertTo-CSV [-UseCulture]
[-InputObject] psobject [-IncludeTypeInformation] [-NoTypeInformation]
[-QuoteFields String[]] [-UseQuotes QuoteKind] [CommonParameters]
key
-Delimiter char
The delimiter to separate property values. Default = comma (,).
Enter a character, such as a colon (:).
To specify a semicolon (;), enclose it in quotation marks. Otherwise, it
will be interpreted as the command delimiter.
-InputObject psobject
The object(s) to export as CSV strings. Enter a variable that contains the
object(s) or type an expression that returns the object(s).
When the -InputObject parameter is used to submit a collection of items,
ConvertTo-CSV receives one object that represents the collection.
Because one object cannot be converted, ConvertTo-CSV returns the entire collection unchanged.
To convert multiple items, pipe them to ConvertTo-Csv.
This parameter is an implementation detail: its purpose is to enable input via the pipeline, and its
direct use with arrays (collections) does not (yet) provide any useful functionality.
-IncludeTypeInformation
When this parameter is used the first line of the output contains #TYPE followed by the
fully qualified name of the object type. For example, #TYPE System.Diagnostics.Process.
This parameter was introduced in PowerShell 6.0.
-NoTypeInformation
Remove the #TYPE information header from the output.
This parameter became the default in PowerShell 6.0 and is included for backwards compatibility.
-QuoteFields
Specifies the names of the columns that should be quoted.
When this parameter is used only the specified columns are quoted. This parameter was added in PowerShell 7.0.
-UseCulture
Use the list separator for the current culture as the data delimiter.
Default = comma (,)
This parameter is very useful in scripts that are being distributed to
users worldwide. To find the list separator for a culture, use the following:
(Get-Culture).TextInfo.ListSeparator.
-UseQuotes
Specifies when quotes are used in the CSV files.
Possible values are:
Never - don’t quote anything
Always - quote everything (default behavior)
AsNeeded - only quote fields that contain a delimiter character
This parameter was added in PowerShell 7.0.
ConvertTo-CSV returns a series of comma-separated, variable-length (CSV) strings that represents the objects that you submit.
You can then use ConvertFrom-CSV to re-create objects from the CSV strings.
Export-CSV is the same as ConvertTo-CSV, except that it saves to a file.
Convert a date object to CSV format:
PS C:\> $date = Get-Date
PS C:\> ConvertTo-CSV -inputobject $date -delimiter ";" -notypeinformation
Convert a process object to CSV format:
PS C:\> get-process powershell | ConvertTo-CSV
Convert an event log object to CSV format:
PS C:\> get-eventlog -log "application" | ConvertTo-CSV -useculture
“Drunk with power isn’t the same as being drunk with booze” - Craig Ferguson
Export-Csv - Export to Comma Separated Values (spreadsheet)