Powershell:管理excel数据以创建条形图

Powershell:管理excel数据以创建条形图,powershell,Powershell,我有一个包含详细信息或机器的excel文件。基本上,这个文件是由SCCM团队生成的,他们提供了一些细节,如心跳、硬件清单、模型等 我正在创建一个powershell脚本,以获取机器的模型类型并在条形图中显示它们。我可以通过powershell读取excel文件,但我不知道如何才能这样显示它们 例如 Dell - 5 HP - 10 IBM - 30 这是我创建的脚本 #Declare the file path and sheet name $file = "D:\HealthCheck_te

我有一个包含详细信息或机器的excel文件。基本上,这个文件是由SCCM团队生成的,他们提供了一些细节,如心跳、硬件清单、模型等

我正在创建一个powershell脚本,以获取机器的模型类型并在条形图中显示它们。我可以通过powershell读取excel文件,但我不知道如何才能这样显示它们

例如

Dell - 5
HP - 10
IBM - 30
这是我创建的脚本

#Declare the file path and sheet name
$file = "D:\HealthCheck_test.xlsx"
$sheetName = "DC01"
#Create an instance of Excel.Application and Open Excel file
$objExcel = New-Object -ComObject Excel.Application
$workbook = $objExcel.Workbooks.Open($file)
$sheet = $workbook.Worksheets.Item($sheetName)
$objExcel.Visible=$false
#$red = 1;
#$orange = 1;
#Count max row
$rowMax = ($sheet.UsedRange.Rows).count
#Declare the starting positions
$rowHB,$colHB = 5,14 #pie
$rowModel,$colModel = 5,32 #bar
$rowHWInv,$colHWInv = 5,16 #Pie
$rowSite,$colSite = 5,40 #Bar
$rowOS,$colOS = 5,41 #Bar
#loop to get values and store it
for ($i=1; $i -le $rowMax-1; $i++)
{
$HB = $sheet.Cells.Item($rowHB+$i,$colHB).text
$Model = $sheet.Cells.Item($rowModel+$i,$colModel).text
$HWInv = $sheet.Cells.Item($rowHWInv+$i,$colHWInv).text
$Site = $sheet.Cells.Item($rowSite+$i,$colSite).text
$OS = $sheet.Cells.Item($rowOS+$i,$colOS).text
#$i
Write-Host ("I am reading data on row: "+$i)
[int] $hb = $HB


$Model = $Model
[int] $HWInv = $HWInv
 $Site = $Site
 $OS = $OS

        if($hb -ge 31){
            $red = $red + 1
        }
        if($hb -ge 14 -and $hb -le 30){
            $orange = $orange + 1
        }

}
$objExcel.quit()

Write-Host ("Total devices more than 30 days old: "+$red)
Write-Host ("Total devices 14-30 days old: "+$orange)
目前,我可以为超过30天的类似心跳的设备和14-30天的设备创建脚本

我将在饼图中显示它们,但我不知道如何为模型安排数据以创建条形图


有人能给我一些建议吗?

我在谷歌上搜索了很多次,最后我想我需要使用二维数组。我现在正在做。我做了很多谷歌搜索,最后我想我需要使用二维数组。我现在正在做。完成后会让你知道的。