How to use Powershell export-csv without a header

6 September,2019 by

Question: I’m trying to use powershell cmdlet export-csv to output a csv file – but without the header information from a sql server recordset i.e first row

I’m trying to implement this powershell code snippet.

$outputfile="\myoutputfile.csv"
$dt = new-object "System.Data.DataTable"
--add some data into the data table 
dt | select * -ExcludeProperty RowError, RowState, HasErrors, Name, Table, ItemArray | export-csv -path $outputfile -NoTypeInformation

Answer:   It is possible to get the no header on an export-csv – but it does require a few workarounds – which seem excessive for what you’re attempting to achieve

I prefer to use the powershell cmdlet ConvertTo-Csv. The ConvertTo-Csv cmdlet is piped and then the -Skip parameter is used . Easy !

You may be asking what is the difference between ConvertTo-Csv and export-csv. Typically Export refers to directly exporting out to that file , whereas ConvertTo refers converting to that format – e.g ConvertTo-csv

Taking your example , here is a reworking .

$dt | select * -ExcludeProperty RowError, RowState, HasErrors, Name, Table, ItemArray |ConvertTo-Csv -NoTypeInformation | Select-Object -Skip 1 | Set-Content -path $outputfile

So really this post should be titled – How to use Powershell export-csv without a header by using ConvertTo-Csv 

Read more on powershell and csv

Export–CSV Powershell (SQL Server DBA)

Use Powershell import-csv to enumerate list items from a CSV array …

Author: Jack Vamvas

Leave a Reply

Discover more from ciquery

Subscribe now to keep reading and get access to the full archive.

Continue reading