【发布时间】:2015-08-01 11:07:54
【问题描述】:
我创建了以下函数,它将数组的值导出到 Excel,但它只导出第一个元素。
Function Export_Excel ($Array,$Column,$Sheet) {
[System.Threading.Thread]::CurrentThread.CurrentCulture = "en-US"
[System.Threading.Thread]::CurrentThread.CurrentUICulture = "en-US"
$Global:sheet = $Global:wkbk.WorkSheets.Item("$Sheet")
$intRow = 3
$LastRow = $Array.count + 2
$Range = "$Column" + $intRow +":$Column" + "$LastRow"
$RangeSet = $Global:sheet.Range("$Range")
$RangeSet.Value2 = $Array
[gc]::collect()
[gc]::WaitForPendingFinalizers()
[System.Threading.Thread]::CurrentThread.CurrentCulture = $Global:OldCulture
[System.Threading.Thread]::CurrentThread.CurrentUICulture = $Global:OldUICulture
}
我的数组是用$Array+=$ValueForArray生成的。
当我执行时
Export_Excel $Array "B" "Sheet1"
它只为整个数组长度导出每个单元格中的第一个元素。谁能看到我做错了什么?
【问题讨论】:
-
以防万一我测试时,我们还需要知道 $array 是如何声明的。
$Array = @()? -
你好,马特,确实 $Array 被声明为 $Array = @()
-
当我使用 Export_Excel $Array "3" "Sheet1" 数组“正确”导出时,您将获得第 33 行的所有信息。
标签: arrays excel powershell