Я работаю над автоматическим документом Word и попал в проблему с запросом foreach, который я не могу получить для корректного вывода. У меня есть ниже данные:Графики PowerShell и MS Word 2013, ForEach
Date, server 1, server 2, server 8, server 12
19/08/2014, 4.24, 5.8, 2.05, 1.0
20/08/2014, 6.4, 3.8, 5.05, 2.1
однако мой сценарий продолжает выводить его как:
Date, server 1, server 2, server 8, server 12
20/08/2014, 6.4, 3.8, 5.05, 2.1
В основном первая строка перезаписывается на последующих строках, а затем только в последней строке присутствует.
Пожалуйста, смотрите мой код ниже:
#### Create Word Document ####
$word = New-Object -ComObject word.application
$word.visible = $true
$doc = $word.documents.add()
$selection = $word.selection
$nl = [Environment]::NewLine
# Create a new chart
$docChart = $Word.ActiveDocument.InlineShapes.AddChart()
$docChart.Chart.Type = "1"
$docChart.chart.SubType = "2"
$docChart.Chart.ChartStyle = "2"
$docChart.Chart.Legend.AutoScaleFont = "true"
$docChart.Chart.HasTitle = "True"
$docChart.Chart.ChartTitle.Formula = "VM Memory Consumption"
$cells = $docChart.chart.ChartData.Workbook.ActiveSheet.cells
$columns = $MyData | Get-Member -MemberType Properties | Select Name
foreach($column in $columns){
$row=1
$col++
$column2 = $column.Name
$cells.Item($Row,$col) = "$column2"
$MyData | ForEach-Object{
$Row1=2
$col
$date = $_.c3
$array = ($_ | Select-Object $Column2)."$Column2"
$Array | ForEach-Object{
$cells.Item($row1,$col) = "$array"
}
}
}
Я бы очень признателен за помощь в решении этого.
Спасибо, Стив
$ Row1 = 2 в вашей петле? Разве вы не должны увеличивать это значение? –
Спасибо за это, это помогло мне решить вопрос, ответ ниже –