我在通过powershell向excels图表对象中的seriescollection添加多个系列时遇到问题这是我的代码:
[threading.thread]::CurrentThread.CurrentCulture = 'en-US'
$excel = New-Object -comobject Excel.Application
$workbook = $excel.workbooks.add()
$datasheet = $workbook.Worksheets.Item(2)
$chartsheet = $workbook.Worksheets.Item(1)
[datetime] $startDate = "2012-11-29 00:00:00"
[datetime] $finishDate = "2012-12-07 00:00:00"
[datetime] $dayCounter = $startDate
$startRow = 2
$startColumn = 2
$columnCounter = 2
$rowCounter = 2
while ($dayCounter -le $finishDate)
{
$datasheet.Cells.Item($rowCounter, $columnCounter) = $dayCounter.ToShortDateString()
$datasheet.Cells.Item($rowCounter+1, $columnCounter) = $columnCounter
$datasheet.Cells.Item($rowCounter+2, $columnCounter) = 2 * $columnCounter
$columnCounter++
$dayCounter = $dayCounter.AddDays(1)
}
$datasheet.Range($rowCounter.ToString() + ":" + $rowCounter.ToString()).NumberFormat = "m/d/yyyy"
$excel.application.DisplayAlerts=$False
$chart = $chartsheet.Shapes.addChart().chart
$chart.hasTitle = $true
$chart.chartTitle.text = "Ramp Example"
$chartType = [Microsoft.Office.Interop.Excel.XlChartType]::xlLine
$chart.chartType = $chartType
$startCell = $datasheet.Cells.Item(3,2).Address($false,$false)
$endCell = $datasheet.Cells.Item(3,10).Address($false,$false)
$startCell + ", " + $endCell
$datarange = $datasheet.Range($startCell, $endCell)
$chart.SetSourceData($datarange)
$chart.SeriesCollection(1).Name = "First"
$chart.SeriesCollection(1).XValues = $datasheet.Range("B2", "J2")
$newSeries = $chart.SeriesCollection().NewSeries
$chart.SeriesCollection(2).Values = $datasheet.Range("B4", "J4")
$chart.SeriesCollection(2).Name = "Second"
$chart.SeriesCollection(2).XValues = $datasheet.Range("B2", "J2")
$excel.Visible = $True
错误:
使用“1”参数调用“SeriesCollection”的异常:“无效参数”在 C:\localwork\tfs\OpenExcel.ps1:49 char:24 + $chart.SeriesCollection <<<< (2).Values = $ datasheet.Range("B4", "J4") + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : ComMethodTargetInvocation
使用“1”参数调用“SeriesCollection”的异常:“无效参数”在 C:\localwork\tfs\OpenExcel.ps1:50 char:24 + $chart.SeriesCollection <<<< (2).Name = "第二” + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : ComMethodTargetInvocation
使用“1”参数调用“SeriesCollection”的异常:“无效参数”在 C:\localwork\tfs\OpenExcel.ps1:51 char:24 + $chart.SeriesCollection <<<< (2).XValues = $ datasheet.Range("B2", "J2") + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : ComMethodTargetInvocation
问题是; 如何使用 powershell 代码获得额外的 SeriesCollection 条目?
任何帮助将不胜感激