А по какой причине скрипт на PS не может добавить данные в книгу Excel 2007?
А в Excel 2010, 2013, 2016 данные добавляются
пример вырезки из скрипта:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
# ИНФОРМАЦИЯ О КОМПЬЮТЕРАХ
# СПИСОК КОМПЬЮТЕРОВ В ФАЙЛЕ 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
ПРОПУЩЕН КОД СКРИПТА СБОР ИНФЫ, ПРОЦ, ОПЕРАТИВКА И ПРОЧЕЕ
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
###########################################################################
# Номер начальной строки
$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