我是powershell的新手,正在尝试自动化复杂的过程。我需要将3列数据从一个电子表格复制并粘贴到第二个电子表格,然后将其逐行导出到SAP事务中。在搜索中,我找到了下面的链接,该链接讨论了如何使用$arr1 = @(0) * 20
创建数组。我有两个问题。
第一个问题是(0)引用是什么?
此外,使用该公式如何引用创建数组所需的工作簿,工作表和列?任何帮助将不胜感激。
答案 0 :(得分:0)
@()是数组文字(通常用于定义空或单元素数组) 您还可以使用列表对象(System.Collection.ArrayList),因为它具有动态大小,可能会更方便。
下面是一个带有COM对象的快速且肮脏的示例(将范围内的数据读取到数组列表中)
$excel= new-object -com excel.application
$excel.Visible = $false
$wb = $excel.workbooks.open("$home\Documents\book1.xlsx")
$ws = $wb.Sheets.Item("Sheet1")
$data = New-Object System.Collections.ArrayList
foreach ($i in 1..20){
$data.Add( (New-Object PSObject -Property @{A=$ws.Range("A$i").Value2; B=$ws.Range("B$i").Value2}) ) | Out-Null
}
Write-Output $data
$wb.Close()