ImportExcel: как вставить многомерный массив значений

#powershell

#powershell

Вопрос:

Я использую модуль ImportExcel и пытаюсь вставить массив значений.

 $file = "C:TempTest.xlsx"

$data = @(("header1","header2","header3"),(2,5,8),(3,6,9))

$excel = $data | Export-Excel -WorksheetName "Sheet1" -Path $file -PassThru

Close-ExcelPackage $excel -Show
  

Но данные вставляются в один столбец вместо диапазона A1: C3.

введите описание изображения здесь

Мне нужно найти способ, как вставить массив значений.

Комментарии:

1. Вы header2 определили дважды

2. @Theo Спасибо, но это не должно повлиять на результат. Отредактировал вопрос.

Ответ №1:

Вы могли бы преобразовать многомерный массив в массив объектов, подобных этому

 $data = ("header1","header2","header3"),(2,5,8),(3,6,9) | ForEach-Object {
    $_ -join ','
} | ConvertFrom-Csv
  

для получения

 header1 header2 header3
------- ------- -------
2       5       8      
3       6       9
  

но это будет работать только в том случае, если у вас нет повторяющихся заголовков в первом массиве..