Запись данных в ячейки в Excel 2007 / PowerShell - PullRequest
2 голосов
/ 13 октября 2009

Почему я не могу записать значения в Excel с помощью класса Worksheet или интерфейса Sheet? Я ожидаю, что смогу сделать что-то вроде этого:

[Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Interop.Excel")
$Excel = New-Object Microsoft.Office.Interop.Excel.ApplicationClass
$Workbook = $Excel.Workbooks.Add()
$Worksheet = $Workbook.Worksheets.Add()
$Worksheet.Cells.Item(1,1).Value2 = "Test"

Но вместо этого кажется, что вы должны записывать значения, используя объект ApplicationClass:

[Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Interop.Excel")
$Excel = New-Object Microsoft.Office.Interop.Excel.ApplicationClass
$Workbook = $Excel.Workbooks.Add()
$Worksheet = $Workbook.Worksheets.Add()
$Excel.Cells.Item(1,1).Value2 = "Test"

Это не кажется мне логичным, потому что я записываю значение в конкретный рабочий лист, с которым я работаю, а не на уровне приложения.

Есть мысли по этому поводу?

1 Ответ

3 голосов
/ 13 октября 2009

Я не могу воспроизвести это. Ваш предыдущий пример отлично работает для меня. Я подтвердил, установив $ Excel.Visible = $ true, и в ячейке (1,1) вижу «Test».

-Oisin

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...