我在下面的PS脚本中得到的结果是以CSV或XLS文件结果,每个文件都是最简单的。
我运行下面的Powershell命令,它给了我想要的结果 - 到目前为止一直很好。
我一直坚持如何将这些信息输入Excel,以便我可以将其用于报告..
$OracleCommand = "SELECT user_info.directory_auth_id,
user_info.display_name,
chat_account.chat_system_id,
chat_account.login_id,
chat_account.account_id,
chat_account.is_deleted,
chat_system.server_address"
$OracleCommand += " FROM user_info"
$OracleCommand += " INNER JOIN chat_account ON chat_account.user_id = user_info.entity_id"
$OracleCommand += " INNER JOIN chat_system ON chat_system.system_id = chat_account.chat_system_id"
$OracleCommand += " WHERE user_info.directory_auth_id ="
$OracleCommand += "'" + $User + "'"
Invoke-OracleCommand -OracleConnectionString (Get-Content 'ConnectionString.txt') `
-QueryString $OracleCommand |
我是否需要遍历结果并导出到csv ....
谢谢, 德曼
答案 0 :(得分:0)
我会继续导出到CSV,因为这样可以更轻松地完成剩余的过程。此代码将允许您导入CSV:
$csv = "C:\myData.csv"
$excel = New-Object -ComObject Excel.Application
$excel.Visible = $Show
$wbObj = $excel.Workbooks.Add()
$dataSheet = $wbObj.Worksheets.Item(1)
$qryConn = ("TEXT;" + $csv)
$qryDest = $dataSheet.Range("A1")
$conn = $dataSheet.QueryTables.Add($qryConn,$qryDest)
$dataSheet.QueryTables.item($conn.name).TextFileCommaDelimiter = $true
$dataSheet.QueryTables.item($conn.name).TextFileParseType = 1
[void]$dataSheet.QueryTables.item($conn.name).Refresh()