使用Powershell读取Excel数据并写入变量

squ*_*y79 4 excel powershell

使用PowerShell我想捕获用户输入,将输入与Excel电子表格中的数据进行比较,并将相应单元格中的数据写入变量.我是PowerShell的新手,似乎无法解决这个问题.例如:提示用户输入商店号码,输入"123".然后将输入与A列中的数据进行比较.捕获相应单元格中的数据并将其写入变量,例如$ GoLiveDate.

任何帮助将不胜感激.

示例数据:http://reddirttechnology.com/table.html

Ans*_*ers 13

用户输入可以像这样读取:

$num = Read-Host "Store number"
Run Code Online (Sandbox Code Playgroud)

Excel可以像这样处理:

$xl = New-Object -COM "Excel.Application"
$xl.Visible = $true
$wb = $xl.Workbooks.Open("C:\path\to\your.xlsx")
$ws = $wb.Sheets.Item(1)
Run Code Online (Sandbox Code Playgroud)

在一列中查找值并将另一列中的相应值分配给变量可以这样做:

for ($i = 1; $i -le 3; $i++) {
  if ( $ws.Cells.Item($i, 1).Value -eq $num ) {
    $GoLiveDate = $ws.Cells.Item($i, 2).Value
    break
  }
}
Run Code Online (Sandbox Code Playgroud)

完成后别忘了清理:

$wb.Close()
$xl.Quit()
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($xl)
Run Code Online (Sandbox Code Playgroud)