首页 > 解决方案 > 使用powershell从Excel中的行中提取值

问题描述

我是powershell的新手。我有一个带有某些输入的 excel 表,我的 excel 表看起来像

[excel][1]

$filepath="Path to file.xlsx"
$objExcel = New-Object -ComObject Excel.Application 
$objExcel.Visible = $false
$objExcel.DisplayAlerts = $false
$WorkBook = $objExcel.Workbooks.Open($FilePath)
$WorkSheet = $WorkBook.sheets.item("sheet1")
$tooluse=Read-Host "Please Enter the tool"

for($i=2;$i -lt 8;$i++)
 {
     $op=$Worksheet.Rows.Item($i).Columns.Item(1).Text
     if ( $op -eq $tooluse )
     {
         return $tooluse
     }
}

我希望我的 powershell 脚本打印输入 "java" 。1.6 太阳

标签: excelextractpowershell-5.0

解决方案


使用这样的 excel 文件名 abc.xlsx: 在此处输入图像描述

剧本:

$filepath="D:\Temp\abc.xlsx"
$objExcel = New-Object -ComObject Excel.Application 
$objExcel.Visible = $false
$objExcel.DisplayAlerts = $false
$WorkBook = $objExcel.Workbooks.Open($FilePath)
$WorkSheet = $WorkBook.sheets.item("abc")
$tooluse=Read-Host "Please Enter the tool"

for($i=1;$i -lt 4;$i++)
 {
     for($j=1;$j -lt 4;$j++)
     {
           $op=$Worksheet.Rows.Item($i).Columns.Item($j).Text
           echo "$i , $j : $op"
     }
}

产生输出:

PS D:\temp> .\test.ps1                                                                                                  Please Enter the tool:
1 , 1 : a
1 , 2 : b
1 , 3 : c
2 , 1 : 1
2 , 2 : 2
2 , 3 : 3
3 , 1 : een
3 , 2 : twee
3 , 3 : drie
PS D:\temp>

拜托,我也是powershell的新手,但这似乎是......

投资学习工具?


推荐阅读