А по какой причине скрипт на PS не может добавить данные в книгу Excel 2007?
А в Excel 2010, 2013, 2016 данные добавляются
пример вырезки из скрипта:
# ИНФОРМАЦИЯ О КОМПЬЮТЕРАХ
# СПИСОК КОМПЬЮТЕРОВ В ФАЙЛЕ servers.txt
(создается заранее)
# КОТОРЫЙ ФОРМИРУЕТСЯ В EXCEL ФАЙЛ
##########################################
cls
# Создаём объект Excel
$Excel = New-Object -ComObject Excel.Application
# Делаем его видимым
$Excel.Visible = $true
# Добавляем рабочую книгу
$WorkBook = $Excel.Workbooks.Add()
# Начинаем работать с первым листом.
#Для простоты обращения к нему создаём соответствующую переменную
$info_comp = $WorkBook.Worksheets.Item(1)
# Переименовываем лист
$info_comp.Name = 'The information on computers'
# Заполняем ячейки - шапку таблицы
$info_comp.Cells.Item(1,1) = '[Computer]'
$info_comp.Cells.Item(1,2) = '[Operation System]'
$info_comp.Cells.Item(1,3) = '[SP]'
$info_comp.Cells.Item(1,4) = '[Architecture]'
$info_comp.Cells.Item(1,5) = '[Motherboard]'
$info_comp.Cells.Item(1,6) = '[Processor]'
$info_comp.Cells.Item(1,7) = '[RAM(GB)]'
$info_comp.Cells.Item(1,8) = '[Graphic adapter]'
$info_comp.Cells.Item(1,9) = '[Disk]'
$info_comp.Cells.Item(1,10) = '[Free(GB)]'
$info_comp.Cells.Item(1,11) = '[Total(GB)]'
# Переходим на следующую строку...
$Row = 2
$Column = 1
ПРОПУЩЕН КОД СКРИПТА СБОР ИНФЫ, ПРОЦ, ОПЕРАТИВКА И ПРОЧЕЕ
###########################################################################
# Номер начальной строки
$InitialRow = $Row
# Возвращаемся на одну строку назад
#$Row--
$DataRange = $info_comp.Range(("A{0}" -f $InitialRow), ("K{0}" -f $Row))
7..12 | ForEach-Object `
{
$DataRange.Borders.Item($_).LineStyle = 1
$DataRange.Borders.Item($_).Weight = 2
}
$Row++
#############################################################################
}
##############
$Column = 1
##############
}
} #end
# Выделяем жирным шапку таблицы
$info_comp.Rows.Item(1).Font.Bold = $true
$info_comp.Rows.Item(1).Font.Size = 12
$info_comp.Rows.Item(1).Font.Color = 8210719
# Переменная $UsedRange содержит все занятые ячейки (эквивалентно однократному нажатию Ctrl+A)
$UsedRange = $info_comp.UsedRange
$UsedRange.EntireColumn.AutoFit() | Out-Null