Export-Excel
コマンドレットを使用して、関数の出力をExcelにエクスポートしています。次のように私の機能は次のとおりです。関数の戻り対象がPowerShellでExcelにエクスポートされない
function SQLQuery($ServerName, $DBName, $Query)
{
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server=$ServerName;Database=$DBName;Integrated Security=True"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $Query
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$Output = $DataSet.Tables[0]
$SqlConnection.Close()
return $Output
}
$ResultCost = SQLQuery -ServerName $SName -DBName $DBName -Query (Get-Content -Path $CostQueryPath)
$ResultCost.Table | Export-Excel -Path $ReportPath
ので、私は、輸出に$ResultCost.Table
を使用し、ダイレクト出力がExcelにエクスポートされません。しかし、多くの複製がエクスポートされていることがわかります(結果が10レコードの場合、$ResultCost.Table
は10の累乗が10、つまり100レコードです)。直接出力のみをエクスポートするにはどうすればよいですか?そして、最後の5つの不要な列を削除するにはどうすればよいですか?
を試してみてください。たとえば、オブジェクトのリストから重複を除外するには、 'Sort-Object -Unique'を使用します。 –
エクスポートされていないとはどういう意味ですか?試してみるとどうなりますか?最後の5つの不要な列は削除されますか?私はあなたの結果に特定の列を必要としないと思いますか?もしそうなら、QUERY –
'$ ResultCost.Table |ソートオブジェクト - ユニーク| Export-Excel -Path $ ReportPath' は、すべてのレコードを出力からエクスポートしません。しかし、エクスポートするのは1レコードだけです –