将数据写入Excel 2007 / PowerShell中的单元格

为什么我不能使用Worksheet类或Sheet接口将值写入Excel? 我希望能够做到这样的事情:

[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" 

这对我来说似乎并不合逻辑,因为我正在将值写入到正在使用的特定工作表中,而不是在应用程序级别。

对此有何想法?

我无法重现这一点。 你以前的例子完全适合我。 我通过设置$ Excel.Visible = $ truevalidation,我可以看到单元格(1,1)中的“testing”。

-Oisin