读取写入EXCEL的单值输出

我的powershell脚本运行一个SQL查询并将其输出到EXCEL

$SQL2 = "SELECT COUNT(DISTINCT EVENT_DESC) AS Number_of_Downloads, COUNT(DISTINCT dbo.V_SEM_COMPUTER.COMPUTER_NAME) AS Number_of_Computers FROM dbo.V_AGENT_SYSTEM_LOG, dbo.V_SEM_COMPUTER $ws = $wb.Worksheets.Item(2) $ws.name = "Totals" $qt = $ws.QueryTables.Add("ODBC;DSN=$DSN;UID=$username;PWD=$password", $ws.Range("A1"), $SQL2) if ($qt.Refresh()){ $ws.Activate() $ws.Select() $excel.Rows.Item(1).HorizontalAlignment = $xlCenter $excel.Rows.Item(1).VerticalAlignment = $xlTop $excel.Rows.Item("1:1").Font.Name = "Calibri" $excel.Rows.Item("1:1").Font.Size = 11 $excel.Rows.Item("1:1").Font.Bold = $true } 

EXCEL输出是

在这里输入图像说明

如何读取2484的值到PowerShellvariables?

现在,我查询数据库两次,“Number_of_Computers”的值在几秒钟内变化,因此我只需要logging一次。

获取有问题的单元格的.Value2属性。 这应该为你做:

 $NumOfComps = $ws.Cells.item(2).value2 

对不起,你可以得到一个确切的单元格:

 $NumOfComps = $ws.Range("B2","B2") 

这只是指定一个单元格范围。

如何使用范围A1:B1

 $Range = $ws.QueryTables.Add("ODBC;DSN=$DSN;UID=$username;PWD=$password", $ws.Range("A1:B1"), $SQL2)