我在PowerShell中有一个名为“$ OutArray”的数组 该阵列充满了多个电子邮件,我需要在第一列中输出到Excel中的每个单元格。该表标有“记者”。
我使用以下for循环来尝试输出数组中的每个项目:
$Excel = New-Object -ComObject Excel.Application
$ExcelWorkBook = $Excel.Workbooks.Open($excel_file_path)
$ExcelWorkSheet = $Excel.WorkSheets.Item("Reporters")
$ExcelWorkSheet.activate()
for ($i = 0; $i -lt $OutArray.Length; $i++) {
$ExcelWorkSheet.Cells.Item($i, 1) = $OutArray[$i]
}
顺便说一句,$ excel_file_path已经正确声明。
但是,我收到以下错误:
我能够通过以下命令在新工作簿中输出数组:
$OutArray | out-file "C:\desiredPathHere"
但我正在尝试在新工作表中附加现有工作簿。
任何提示?
谢谢大家。
答案 0 :(得分:1)
我认为这个错误是由于尝试索引到Excel使用的基于单一的数组引起的,好像它是从零开始的那样:
for ($i = 0; $i -lt $OutArray.Length; $i++) {
$ExcelWorkSheet.Cells.Item(($i + 1), 1) = $OutArray[$i]
}
或者,为了避免加剧脆弱的Excel COMObject:
for ($i = 1; $i -le $OutArray.Length; $i++) {
$ExcelWorkSheet.Cells.Item($i, 1) = $OutArray[$i-1]
}