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

时间:2016-03-30 08:21:00

标签: powershell

我有一个包含详细信息或机器的excel文件。基本上这个文件由SCCM团队生成,它们提供了心跳,hw库存,模型等一些细节。

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

e.g

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天的设备创建心跳脚本。

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

有人可以就此提出建议吗?

0 个答案:

没有答案