Export-Csv
mengharapkan input menjadi objek. Input string dianggap sebagai objek string, yang hanya memiliki satu properti (Length
), jadi hanya properti ini yang diekspor. Jika input Anda adalah array string, Anda harus membuatnya menjadi objek, mis. seperti ini:
$array = "foo", "bar", "baz"
New-Object -Type PSCustomObject -Property @{
"a" = $array[0]
"b" = $array[1]
"c" = $array[2]
} | Export-Csv output.csv -NoTypeInformation
Di atas akan membuat file output.csv
dengan isi sebagai berikut:
"c","a","b"
"baz","foo","bar"
Nama properti (a
, b
, c
) menjadi header CSV, nilai properti (foo
, bar
, baz
) menjadi nilai CSV.
Jika kueri SQL Anda menghasilkan daftar array, Anda mungkin harus melakukan sesuatu seperti ini:
Invoke-Sqlcmd ... | % {
New-Object -Type PSCustomObject -Property @{
"col1" = $_[0]
"col2" = $_[1]
"col3" = $_[2]
}
} | Export-Csv output.csv -NoTypeInformation
Saya tidak memiliki server SQL, jadi ambillah dengan sebutir garam.