[英]How to iterate over an Excel Range in PowerShell?
這可能很容易,但我真的很難編寫完成此任務的代碼!
只是作為一個概念,我希望能夠在Powershell中寫下Excel個單元格的范圍,然后用循環遍歷每個單元格,並對每個單元格中的值求和。
$range="A1:B2".Split(":")
$startrow= $range[0] -replace "[^0-9]" #equals 1
$startcol= $range[0] -replace "[^A-Z]" #equals "A"
$maxrow= $range[1] -replace "[^0-9]" #equals 2
$maxcol= $range[1] -replace "[^A-Z]" #equals "B"
$row = $startrow; $col = $startcol; $value = 0
while($col -le $maxcol){
$row = $startrow
while($row -le $maxrow){
$cellValue = [int]$ws_test.Cells.Item($row,$col).Text
$value = $value + $cellValue
$row++
}
$col++
}
據我所知。 如果我可以將宏 $startcol 和 $maxcol 轉換為整數,嵌套的 while 循環將起作用,但我不知道該怎么做(例如:將“A”轉換為 1,或將“AA”轉換為 27)。
我可以研究另一種方法來實現這一目標嗎? 我對 PowerShell 很陌生,最近幾天一直在努力解決這個問題。
您可以定義工作表上的單元格范圍,然后遍歷該范圍內的每個單元格:
Foreach ($cell in $worksheet.Range("A1:B10")) {
# Process cell values here
}
https://learn.microsoft.com/en-us/office/vba/api/excel.worksheet.range
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.