亲爱的 Stackoverflow(ers),
我对 powershell 和 Excel 有一个小问题。我有一个包含多行和文本的 excel 文件。我想阅读每一列并将内容放入一个数组中。我的脚本有效,但是当我显示数组的内容时,开头总是有一个 0。我的 Excel 文件或脚本有问题吗?
$a = New-Object -comobject Excel.Application
$a.Visible = $true
$a.DisplayAlerts = $False
$Workbook = $a.workbooks.open("C:\test.xls")
$Sheet = $Workbook.Worksheets.Item("Auto")
$row = [int]2
$KN = @() # beginnt bei 2,1... 3,1... 4,1
Do {$KN += $Sheet.Cells.Item($row,1).Text ; $row = $row + [int]1} until (!$Sheet.Cells.Item($row,1).Text)
$Workbook.Close()
$a.Quit()
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($a)
Write-Output $KN
输出:
0
7
7
7
7
7
Excel 文件如下所示:
A B C D
7
7
7
7
7
7
我想这是我的数组的一些简单错误,但我找不到它!谢谢!
Edit1:问题在于:
$KN = @()
因为如果我停止用我的 Exceldata 填充数组,它会继续显示 0。
Edit2:好的,这变得很奇怪。如果我输入 $KN,在再次查看内容的 Script 之后,它会显示没有 0 的正确内容。它来自哪里,为什么会在那里?当我手动查看数组时,为什么它消失了?