Export a PowerShell object to a comma-separated values (CSV) file.
Syntax Export-CSV [[-Delimiter] char] [-Path] string -InputObject psobject [-Encoding string] [-Force] [-NoClobber] [-NoTypeInformation] [-Confirm] [-WhatIf] [CommonParameters] Export-CSV [-UseCulture] [-Path] string -InputObject psobject [-Encoding string] [-Force] [-NoClobber] [-NoTypeInformation] [-Confirm] [-WhatIf] [CommonParameters] Key: -Delimiter char A delimiter to separate the property values. The default is a comma (,). Enter a character, such as a colon (:). To specify a semicolon (;), enclose it in quotation marks. -Encoding string The encoding for the exported CSV file. Valid values are: Unicode, UTF7, UTF8, ASCII, UTF32, BigEndian unicode, Default, and OEM. The default is ASCII. -Force Overwrite the file specified in path without prompting. -InputObject psobject The objects to export as CSV strings. Enter a variable that contains the objects or type a command or expression that gets the objects. You can also pipe objects to Export-CSV. -NoClobber Do not overwrite (replace the contents) of an existing file. By default, Export-CSV will overwrite any existing file without warning. -NoTypeInformation Omit the type information from the CSV file. By default, the first line of the CSV file contains "#TYPE " followed by the fully-qualified name of the type of the .NET Framework object. -Path string The path to the CSV output file. (required) -UseCulture Use the list separator for the current culture as the item delimiter. The default is a comma (,). This is useful in scripts that are being distributed to users worldwide. To find the list separator for a culture, use the following command: (Get-Culture).TextInfo.ListSeparator. -whatIf Describe what would happen if you executed the command without actually executing the command. -confirm Prompt for confirmation before executing the command. CommonParameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -WarningAction, -WarningVariable, -OutBuffer -OutVariable.
Standard Aliases for Export-CSV: epcsv
To suppress the header type information, use the -notype parameter.
A function to export to a temporary CSV file and immediately open it in Excel. Pipe anything to this function to open it (script via Idera):
function Out-Excel { param( $path = "$env:temp\report$(Get-Date -Format yyyyMMddHHmmss).csv" ) $Input | Export-Csv $path -NoTypeInformation -UseCulture -Encoding UTF8 Invoke-Item $path }
Examples
Select a few properties from the wmiprvse process and export them to a CSV format file:
PS C:> get-process wmiprvse | select-object basePriority,ID,SessionID,WorkingSet | export-csv -path data.csv
Export objects representing the processes on the computer to Processes.csv (comma separated):
PS C:> get-process | export-csv E:\processes.csv
Export objects representing the processes on the computer to Processes.csv (semicolon separated):
PS C:> get-process | export-csv E:\processes.csv -Delimiter ";"
Export objects representing the processes on the computer and use -NoTypeInformation to suppress the type information in the output file:
PS C:> get-process | export-csv E:\processes.csv -NoTypeInformation
“Try not to become a man of success but rather to become a man of value” ~ Albert Einstein
Related PowerShell Cmdlets:
import-csv - Take values from a CSV list and send objects down the pipeline.
export-clixml - Produce a clixml representation of PowerShell objects.
import-clixml - Import a clixml file and rebuild the PS object.
convertTo-Html - Convert the input into an HTML table.