From 8d6f5521aff4e67b0dc8afccc8e6dbcf0f7b7895 Mon Sep 17 00:00:00 2001 From: dfinke Date: Fri, 13 Oct 2017 15:50:25 -0400 Subject: [PATCH] updated --- .../TryMultiplePivotTablesFromOneSheet.ps1 | 33 +++++++++++-------- Export-Excel.ps1 | 20 ++++++++++- 2 files changed, 39 insertions(+), 14 deletions(-) diff --git a/Examples/TryMultiplePivotTablesFromOneSheet.ps1 b/Examples/TryMultiplePivotTablesFromOneSheet.ps1 index 0c035fc..3993ebc 100644 --- a/Examples/TryMultiplePivotTablesFromOneSheet.ps1 +++ b/Examples/TryMultiplePivotTablesFromOneSheet.ps1 @@ -1,19 +1,26 @@ -$file="C:\Temp\test.xlsx" +Import-Module ..\ImportExcel.psd1 -Force -rm $file -ErrorAction Ignore -Force +$file = "C:\Temp\test.xlsx" +Remove-Item $file -ErrorAction Ignore -Force -$ptd = @{} -$base=@{ - SourceWorkSheet='gsv' - PivotData= @{'Status'='count'} - IncludePivotChart=$true - ChartType='BarClustered3D' +$base = @{ + SourceWorkSheet = 'gsv' + PivotData = @{'Status' = 'count'} + IncludePivotChart = $true + # ChartType = 'BarClustered3D' } -$ptd.gpt1 = $base + @{ PivotRows = "ServiceType" } -$ptd.gpt2 = $base + @{ PivotRows = "Status" } -$ptd.gpt3 = $base + @{ PivotRows = "StartType" } -$ptd.gpt4 = $base + @{ PivotRows = "CanStop" } +$ptd = [ordered]@{} -gsv | Export-Excel -path $file -WorkSheetname gsv -Show -PivotTableDefinition $ptd +# $ptd.gpt1 = $base + @{ PivotRows = "ServiceType" } +# $ptd.gpt2 = $base + @{ PivotRows = "Status" } +# $ptd.gpt3 = $base + @{ PivotRows = "StartType" } +# $ptd.gpt4 = $base + @{ PivotRows = "CanStop" } + +$ptd += New-PivotTableDefinition @base servicetype -PivotRows servicetype -ChartType Area3D +$ptd += New-PivotTableDefinition @base status -PivotRows status -ChartType PieExploded3D +$ptd += New-PivotTableDefinition @base starttype -PivotRows starttype -ChartType BarClustered3D +$ptd += New-PivotTableDefinition @base canstop -PivotRows canstop -ChartType ConeColStacked + +Get-Service | Export-Excel -path $file -WorkSheetname gsv -Show -PivotTableDefinition $ptd \ No newline at end of file diff --git a/Export-Excel.ps1 b/Export-Excel.ps1 index dd4051e..3288324 100644 --- a/Export-Excel.ps1 +++ b/Export-Excel.ps1 @@ -554,7 +554,7 @@ Function Export-Excel { else { $workSheet = Find-WorkSheet $item.Value.SourceWorkSheet - if($workSheet) { + if ($workSheet) { $targetStartAddress = $workSheet.Dimension.Start.Address $targetDataRange = "{0}:{1}" -f $targetStartAddress, $workSheet.Dimension.End.Address @@ -804,4 +804,22 @@ Function Export-Excel { throw "Failed exporting worksheet '$WorkSheetname' to '$Path': $_" } } +} + +function New-PivotTableDefinition { + param( + [Parameter(Mandatory)] + $PivtoTableName, + $SourceWorkSheet, + $PivotRows, + [hashtable]$PivotData, + $PivotColumns, + [Switch]$IncludePivotChart, + [OfficeOpenXml.Drawing.Chart.eChartType]$ChartType = 'Pie' + ) + + $parameters = @{} + $PSBoundParameters + $parameters.Remove('PivtoTableName') + + @{$PivtoTableName=$parameters} } \ No newline at end of file