以下是我的PowerShell代码,它运行正常。
inputStreamStartsWithPrefix
问题是我想将结果导出为CSV。如何在PowerShell中执行此操作?另外,如何在PowerShell屏幕或输出中以表格格式显示它?
答案 0 :(得分:1)
我过去做过类似的事情,我没有把它作为csv导出但它应该有效。
$someArray = @()
#read all rows into a hash table
while ($reader.Read())
{
$row = @{}
for ($i = 0; $i -lt $reader.FieldCount; $i++)
{
$row[$reader.GetName($i)] = $reader.GetValue($i)
}
#convert hashtable into an array of PSObjects
$someArray += new-object psobject -property $row
}
$conn.Close()
$someArray | export-csv C:\temp\someFile.csv
答案 1 :(得分:1)
从每个记录的字段构建自定义对象,然后将对象列表导出为CSV:
$colNames = $reader.GetSchemaTable() | select -Expand ColumnName
$data = while ($reader.Read()) {
$obj = New-Object -Type PSCustomObject
for ($i = 0; $i -lt $colNames.Count; $i++) {
$obj | Add-Member -Type NoteProperty -Name $colNames[$i] -Value $reader.GetString($i)
}
$obj
}
$data | Export-Csv 'C:\path\to\output.csv' -NoType
从here采用的代码(大约在页面的一半,但您可能希望完整阅读该文章)。
将数据传输到Format-Table
以获取PowerShell控制台中的表格输出:
$data | Format-Table -AutoSize