From a3c71de19018dc9bbbc3978ad114b5d66e45a3d7 Mon Sep 17 00:00:00 2001 From: dfinke Date: Wed, 24 Jul 2019 09:54:20 -0400 Subject: [PATCH 01/11] Bump version --- ImportExcel.psd1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ImportExcel.psd1 b/ImportExcel.psd1 index 7e0c867..0cef410 100644 --- a/ImportExcel.psd1 +++ b/ImportExcel.psd1 @@ -4,7 +4,7 @@ RootModule = 'ImportExcel.psm1' # Version number of this module. - ModuleVersion = '6.2.2' + ModuleVersion = '6.2.3' # ID used to uniquely identify this module GUID = '60dd4136-feff-401a-ba27-a84458c57ede' From b82888527f05b122449c7dc291c28adc65181a07 Mon Sep 17 00:00:00 2001 From: dfinke Date: Wed, 24 Jul 2019 09:54:24 -0400 Subject: [PATCH 02/11] Updated --- README.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b634455..1a24a43 100644 --- a/README.md +++ b/README.md @@ -52,16 +52,22 @@ Install-Module ImportExcel -scope CurrentUser ```PowerShell Install-Module ImportExcel ``` +# What's new 6.2.3 -# What's new 6.2.1 +Thank you [jhoneill](https://github.com/jhoneill). + +- Refactored copy sheet and added pipe support +- Add `ClearAll` to `Set-ExcelRange` +- Fix broken test & regression for `passwords` + - **Note**: Passwords do not work on `pwsh`. The EPPlus library does not support these dotnet core APIs at this time. + +# What's new 6.2.2 - Added requested feature, chart trendlines. - [Example PowerShell script](https://github.com/dfinke/ImportExcel/blob/master/Examples/Charts/NumberOfVisitors.ps1) ![](/images/ChartTrendlines.png) -# What's new 6.2.2 - - Fixed Import-Excel and relative path issue, added unit tests. # What's new 6.2.0 From aa738629f71f400c0d6e0e283290fed6917b5f28 Mon Sep 17 00:00:00 2001 From: ili101 Date: Sat, 17 Aug 2019 06:29:59 +0300 Subject: [PATCH 03/11] Out-Excel --- Export-Excel.ps1 | 11 ++++++---- ImportExcel.psd1 | 1 + ImportExcel.psm1 | 1 + Out-Excel.ps1 | 54 ++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 Out-Excel.ps1 diff --git a/Export-Excel.ps1 b/Export-Excel.ps1 index 3e2dd1a..bc91dc0 100644 --- a/Export-Excel.ps1 +++ b/Export-Excel.ps1 @@ -513,6 +513,7 @@ #If there is already content in the workbook the sheet with the PivotTable will not be active UNLESS Activate is specified [switch]$Activate, [Parameter(ParameterSetName = 'Now')] + [Parameter(ParameterSetName = "Path")] [Switch]$Now, [Switch]$ReturnRange, #By default PivotTables have Totals for each Row (on the right) and for each column at the bottom. This allows just one or neither to be selected. @@ -532,10 +533,12 @@ $script:Header = $null if ($Append -and $ClearSheet) {throw "You can't use -Append AND -ClearSheet."} if ($PSBoundParameters.Keys.Count -eq 0 -Or $Now -or (-not $Path -and -not $ExcelPackage) ) { - $Path = [System.IO.Path]::GetTempFileName() -replace '\.tmp', '.xlsx' - $Show = $true - $AutoSize = $true - if (-not $TableName) { + if (-not $PSBoundParameters.ContainsKey("Path")) { $Path = [System.IO.Path]::GetTempFileName() -replace '\.tmp', '.xlsx' } + if (-not $PSBoundParameters.ContainsKey("Show")) { $Show = $true } + if (-not $PSBoundParameters.ContainsKey("AutoSize")) { $AutoSize = $true } + if (-not $PSBoundParameters.ContainsKey("TableName") -and + -not $PSBoundParameters.ContainsKey("TableStyle") -and + -not $PSBoundParameters.ContainsKey("AutoFilter")) { $AutoFilter = $true } } diff --git a/ImportExcel.psd1 b/ImportExcel.psd1 index 0cef410..d4bc052 100644 --- a/ImportExcel.psd1 +++ b/ImportExcel.psd1 @@ -109,6 +109,7 @@ Check out the How To Videos https://www.youtube.com/watch?v=U3Ne_yX4tYo&list=PL5 'New-PSItem', 'NumberFormatCompletion', 'Open-ExcelPackage', + 'Out-Excel', 'PieChart', 'Pivot', 'Remove-WorkSheet' diff --git a/ImportExcel.psm1 b/ImportExcel.psm1 index 4bdbb55..f7e3b9f 100644 --- a/ImportExcel.psm1 +++ b/ImportExcel.psm1 @@ -29,6 +29,7 @@ Add-Type -Path "$($PSScriptRoot)\EPPlus.dll" . $PSScriptRoot\New-ExcelChart.ps1 . $PSScriptRoot\New-PSItem.ps1 . $PSScriptRoot\Open-ExcelPackage.ps1 +. $PSScriptRoot\Out-Excel.ps1 . $PSScriptRoot\Pivot.ps1 . $PSScriptRoot\PivotTable.ps1 . $PSScriptRoot\RemoveWorksheet.ps1 diff --git a/Out-Excel.ps1 b/Out-Excel.ps1 new file mode 100644 index 0000000..5c6cb2c --- /dev/null +++ b/Out-Excel.ps1 @@ -0,0 +1,54 @@ +Function Out-Excel { + [CmdletBinding(DefaultParameterSetName = 'Now')] + param() + #Import the parameters from Export-Excel. + DynamicParam { + $paramDictionary = [System.Management.Automation.RuntimeDefinedParameterDictionary]::new() + foreach ($P in (Get-Command -Name Export-Excel).Parameters.values.where( { $_.Name -notmatch 'Verbose|Debug|Action$|Variable$|Buffer$|Now' })) { + $paramDictionary.Add($P.Name, [System.Management.Automation.RuntimeDefinedParameter]::new( $P.Name, $P.ParameterType, $P.Attributes ) ) + } + return $paramDictionary + } + + begin { + try { + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Export-Excel', [System.Management.Automation.CommandTypes]::Function) + $scriptCmd = { & $wrappedCmd @PSBoundParameters -Now } + + $steppablePipeline = $scriptCmd.GetSteppablePipeline() + $steppablePipeline.Begin($PSCmdlet) + } + catch { + throw + } + } + + process { + try { + $steppablePipeline.Process($_) + } + catch { + throw + } + } + + end { + try { + $steppablePipeline.End() + } + catch { + throw + } + } + <# + + .ForwardHelpTargetName Export-Excel + .ForwardHelpCategory Function + + #> +} \ No newline at end of file From 9c305a1dae6263e387f0983a520629ec68d624b4 Mon Sep 17 00:00:00 2001 From: ili101 Date: Sat, 17 Aug 2019 08:03:52 +0300 Subject: [PATCH 04/11] Change -Now default from -AutoFilter to -TableName --- Export-Excel.ps1 | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/Export-Excel.ps1 b/Export-Excel.ps1 index bc91dc0..462cc19 100644 --- a/Export-Excel.ps1 +++ b/Export-Excel.ps1 @@ -473,14 +473,9 @@ else { $true } })] [String]$RangeName, - [ValidateScript( { - if (-not $_) { throw 'Tablename is null or empty.' } - elseif ($_[0] -notmatch '[a-z]') { throw 'Tablename starts with an invalid character.' } - else { $true } - })] - [String]$TableName, + $TableName, [OfficeOpenXml.Table.TableStyles]$TableStyle, @@ -532,14 +527,15 @@ try { $script:Header = $null if ($Append -and $ClearSheet) {throw "You can't use -Append AND -ClearSheet."} + $TableName = if ($null -eq $TableName -or ($TableName -is [bool] -and $false -eq $TableName)) { $null } else {[String]$TableName} if ($PSBoundParameters.Keys.Count -eq 0 -Or $Now -or (-not $Path -and -not $ExcelPackage) ) { if (-not $PSBoundParameters.ContainsKey("Path")) { $Path = [System.IO.Path]::GetTempFileName() -replace '\.tmp', '.xlsx' } if (-not $PSBoundParameters.ContainsKey("Show")) { $Show = $true } if (-not $PSBoundParameters.ContainsKey("AutoSize")) { $AutoSize = $true } if (-not $PSBoundParameters.ContainsKey("TableName") -and -not $PSBoundParameters.ContainsKey("TableStyle") -and - -not $PSBoundParameters.ContainsKey("AutoFilter")) { - $AutoFilter = $true + -not $AutoFilter) { + $TableName = '' } } if ($ExcelPackage) { @@ -581,7 +577,7 @@ } #if we did not get a table name but there is a table which covers the active part of the sheet, set table name to that, and don't do anything with autofilter - if (-not $TableName -and $ws.Tables.Where({$_.address.address -eq $ws.dimension.address})) { + if ($null -eq $TableName -and $ws.Tables.Where({$_.address.address -eq $ws.dimension.address})) { $TableName = $ws.Tables.Where({$_.address.address -eq $ws.dimension.address},'First', 1).Name $AutoFilter = $false } @@ -812,7 +808,7 @@ if ($RangeName) { Add-ExcelName -Range $ws.Cells[$dataRange] -RangeName $RangeName} #Allow table to be inserted by specifying Name, or Style or both; only process autoFilter if there is no table (they clash). - if ($TableName) { + if ($null -ne $TableName) { if ($PSBoundParameters.ContainsKey('TableStyle')) { Add-ExcelTable -Range $ws.Cells[$dataRange] -TableName $TableName -TableStyle $TableStyle } From 8ac9927cfa5dac2cebb06caff79b00f837b825c0 Mon Sep 17 00:00:00 2001 From: ili101 Date: Sun, 18 Aug 2019 22:09:28 +0300 Subject: [PATCH 05/11] ParameterSets Tests and Out-Excel Example --- Examples/CustomizeExportExcel/Out-Excel.ps1 | 89 +++++++++++++++++++++ Export-Excel.ps1 | 11 ++- ImportExcel.psd1 | 1 - ImportExcel.psm1 | 1 - Out-Excel.ps1 | 54 ------------- __tests__/Export-Excel.Tests.ps1 | 82 +++++++++++++++++++ 6 files changed, 176 insertions(+), 62 deletions(-) create mode 100644 Examples/CustomizeExportExcel/Out-Excel.ps1 delete mode 100644 Out-Excel.ps1 diff --git a/Examples/CustomizeExportExcel/Out-Excel.ps1 b/Examples/CustomizeExportExcel/Out-Excel.ps1 new file mode 100644 index 0000000..b320241 --- /dev/null +++ b/Examples/CustomizeExportExcel/Out-Excel.ps1 @@ -0,0 +1,89 @@ +<# + This is an example on how to customize Export-Excel to your liking. + First select a name for your function, in ths example its "Out-Excel" you can even set the name to "Export-Excel". + You can customize the following things: + 1. To add parameters to the function define them in "param()", here I added "Preset1" and "Preset2". + The parameters need to be removed after use (see comments and code below). + 2. To remove parameters from the function add them to the list under "$_.Name -notmatch", I removed "Now". + 3. Add your custom code, here I defined what the Presets do: + Preset1 configure the TableStyle, name the table depending on WorksheetName and FreezeTopRow. + Preset2 will set AutoFilter and add the Title "Daily Report". + (see comments and code below). +#> +Function Out-Excel { + [CmdletBinding(DefaultParameterSetName = 'Default')] + param( + [switch] + ${Preset1}, + [switch] + ${Preset2} + ) + DynamicParam { + $paramDictionary = [System.Management.Automation.RuntimeDefinedParameterDictionary]::new() + foreach ($P in (Get-Command -Name Export-Excel).Parameters.values.where( { $_.Name -notmatch 'Verbose|Debug|Action$|Variable$|Buffer$|Now' })) { + $paramDictionary.Add($P.Name, [System.Management.Automation.RuntimeDefinedParameter]::new( $P.Name, $P.ParameterType, $P.Attributes ) ) + } + return $paramDictionary + } + + begin { + try { + # Run you custom code here if it need to run before calling Export-Excel. + $PSBoundParameters['Now'] = $true + if ($Preset1) { + $PSBoundParameters['TableStyle'] = 'Medium7' + $PSBoundParameters['FreezeTopRow'] = $true + if ($PSBoundParameters['WorksheetName'] -and -not $PSBoundParameters['TableName']) { + $PSBoundParameters['TableName'] = $PSBoundParameters['WorksheetName'] + '_Table' + } + } + elseif ($Preset2) { + $PSBoundParameters['Title'] = 'Daily Report' + $PSBoundParameters['AutoFilter'] = $true + } + # Remove the extra params we added as Export-Excel will not know what to do with them: + $null = $PSBoundParameters.Remove('Preset1') + $null = $PSBoundParameters.Remove('Preset2') + + # The rest of the code was auto generated. + $outBuffer = $null + if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { + $PSBoundParameters['OutBuffer'] = 1 + } + + $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Export-Excel', [System.Management.Automation.CommandTypes]::Function) + # You can add a pipe after @PSBoundParameters to manipulate the output. + $scriptCmd = { & $wrappedCmd @PSBoundParameters } + + $steppablePipeline = $scriptCmd.GetSteppablePipeline() + $steppablePipeline.Begin($PSCmdlet) + } + catch { + throw + } + } + + process { + try { + $steppablePipeline.Process($_) + } + catch { + throw + } + } + + end { + try { + $steppablePipeline.End() + } + catch { + throw + } + } + <# + + .ForwardHelpTargetName Export-Excel + .ForwardHelpCategory Function + + #> +} \ No newline at end of file diff --git a/Export-Excel.ps1 b/Export-Excel.ps1 index 462cc19..1aad858 100644 --- a/Export-Excel.ps1 +++ b/Export-Excel.ps1 @@ -138,7 +138,7 @@ .PARAMETER Activate If there is already content in the workbook, a new sheet will not be active UNLESS Activate is specified; if a PivotTable is included it will be the active sheet .PARAMETER Now - The -Now switch is a shortcut that automatically creates a temporary file, enables "AutoSize", "AutoFilter" and "Show", and opens the file immediately. + The -Now switch is a shortcut that automatically creates a temporary file, enables "AutoSize", "TableName" and "Show", and opens the file immediately. .PARAMETER NumberFormat Formats all values that can be converted to a number to the format specified. @@ -418,12 +418,12 @@ .LINK https://github.com/dfinke/ImportExcel #> - [CmdletBinding(DefaultParameterSetName = 'Now')] + [CmdletBinding(DefaultParameterSetName = 'Default')] [OutputType([OfficeOpenXml.ExcelPackage])] [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSAvoidUsingPlainTextForPassword", "")] Param( - [Parameter(Mandatory = $true, ParameterSetName = "Path", Position = 0)] + [Parameter(ParameterSetName = 'Default', Position = 0)] [String]$Path, [Parameter(Mandatory = $true, ParameterSetName = "Package")] @@ -507,8 +507,7 @@ [ScriptBlock]$CellStyleSB, #If there is already content in the workbook the sheet with the PivotTable will not be active UNLESS Activate is specified [switch]$Activate, - [Parameter(ParameterSetName = 'Now')] - [Parameter(ParameterSetName = "Path")] + [Parameter(ParameterSetName = 'Default')] [Switch]$Now, [Switch]$ReturnRange, #By default PivotTables have Totals for each Row (on the right) and for each column at the bottom. This allows just one or neither to be selected. @@ -533,7 +532,7 @@ if (-not $PSBoundParameters.ContainsKey("Show")) { $Show = $true } if (-not $PSBoundParameters.ContainsKey("AutoSize")) { $AutoSize = $true } if (-not $PSBoundParameters.ContainsKey("TableName") -and - -not $PSBoundParameters.ContainsKey("TableStyle") -and + -not $PSBoundParameters.ContainsKey("TableStyle") -and -not $AutoFilter) { $TableName = '' } diff --git a/ImportExcel.psd1 b/ImportExcel.psd1 index d4bc052..0cef410 100644 --- a/ImportExcel.psd1 +++ b/ImportExcel.psd1 @@ -109,7 +109,6 @@ Check out the How To Videos https://www.youtube.com/watch?v=U3Ne_yX4tYo&list=PL5 'New-PSItem', 'NumberFormatCompletion', 'Open-ExcelPackage', - 'Out-Excel', 'PieChart', 'Pivot', 'Remove-WorkSheet' diff --git a/ImportExcel.psm1 b/ImportExcel.psm1 index f7e3b9f..4bdbb55 100644 --- a/ImportExcel.psm1 +++ b/ImportExcel.psm1 @@ -29,7 +29,6 @@ Add-Type -Path "$($PSScriptRoot)\EPPlus.dll" . $PSScriptRoot\New-ExcelChart.ps1 . $PSScriptRoot\New-PSItem.ps1 . $PSScriptRoot\Open-ExcelPackage.ps1 -. $PSScriptRoot\Out-Excel.ps1 . $PSScriptRoot\Pivot.ps1 . $PSScriptRoot\PivotTable.ps1 . $PSScriptRoot\RemoveWorksheet.ps1 diff --git a/Out-Excel.ps1 b/Out-Excel.ps1 deleted file mode 100644 index 5c6cb2c..0000000 --- a/Out-Excel.ps1 +++ /dev/null @@ -1,54 +0,0 @@ -Function Out-Excel { - [CmdletBinding(DefaultParameterSetName = 'Now')] - param() - #Import the parameters from Export-Excel. - DynamicParam { - $paramDictionary = [System.Management.Automation.RuntimeDefinedParameterDictionary]::new() - foreach ($P in (Get-Command -Name Export-Excel).Parameters.values.where( { $_.Name -notmatch 'Verbose|Debug|Action$|Variable$|Buffer$|Now' })) { - $paramDictionary.Add($P.Name, [System.Management.Automation.RuntimeDefinedParameter]::new( $P.Name, $P.ParameterType, $P.Attributes ) ) - } - return $paramDictionary - } - - begin { - try { - $outBuffer = $null - if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { - $PSBoundParameters['OutBuffer'] = 1 - } - - $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Export-Excel', [System.Management.Automation.CommandTypes]::Function) - $scriptCmd = { & $wrappedCmd @PSBoundParameters -Now } - - $steppablePipeline = $scriptCmd.GetSteppablePipeline() - $steppablePipeline.Begin($PSCmdlet) - } - catch { - throw - } - } - - process { - try { - $steppablePipeline.Process($_) - } - catch { - throw - } - } - - end { - try { - $steppablePipeline.End() - } - catch { - throw - } - } - <# - - .ForwardHelpTargetName Export-Excel - .ForwardHelpCategory Function - - #> -} \ No newline at end of file diff --git a/__tests__/Export-Excel.Tests.ps1 b/__tests__/Export-Excel.Tests.ps1 index e0d4222..d5f2a0c 100644 --- a/__tests__/Export-Excel.Tests.ps1 +++ b/__tests__/Export-Excel.Tests.ps1 @@ -975,4 +975,86 @@ Describe ExportExcel { } } + Context " # Parameters and ParameterSets" { + $Path = "$Env:TEMP\test.xlsx" + Remove-Item -Path $Path -ErrorAction SilentlyContinue + $Processes = Get-Process | Select-Object -first 10 -Property Name, cpu, pm, handles, company + + it "Default Set with Path".PadRight(87) { + $ExcelPackage = $Processes | Export-Excel -Path $Path -PassThru + $Worksheet = $ExcelPackage.Workbook.Worksheets[1] + + $ExcelPackage.File | Should -Be $Path + $Worksheet.Cells['A1'].Value | Should -Be 'Name' + $Worksheet.Tables | Should -BeNullOrEmpty + $Worksheet.AutoFilterAddress | Should -BeNullOrEmpty + } + it "ExcelPackage Set. Path and (ExcelPackage or Now) should throw".PadRight(87) { + $ExcelPackage = Export-Excel -Path $Path -PassThru + {Export-Excel -ExcelPackage $ExcelPackage -Path $Path} | Should -Throw -ExpectedMessage 'Parameter set cannot be resolved using the specified named parameters' + {Export-Excel -ExcelPackage $ExcelPackage -Now} | Should -Throw -ExpectedMessage 'Parameter set cannot be resolved using the specified named parameters' + + $Processes | Export-Excel -ExcelPackage $ExcelPackage + Remove-Item -Path $Path + } + it "If TableName and AutoFilter provided AutoFilter will be ignored".PadRight(87) { + $ExcelPackage = Export-Excel -Path $Path -PassThru -TableName 'Data' -AutoFilter + $Worksheet = $ExcelPackage.Workbook.Worksheets[1] + + $Worksheet.Tables[0].Name | Should -Be 'Data' + $Worksheet.AutoFilterAddress | Should -BeNullOrEmpty + } + it "Default Set with Path and TableName with generated name".PadRight(87) { + $ExcelPackage = $Processes | Export-Excel -Path $Path -PassThru -TableName '' + $Worksheet = $ExcelPackage.Workbook.Worksheets[1] + + $ExcelPackage.File | Should -Be $Path + $Worksheet.Tables[0].Name | Should -Be 'Table1' + } + it "Now will use temp Path, set TableName with generated name and AutoSize".PadRight(87) { + $ExcelPackage = $Processes | Export-Excel -Now -PassThru + $Worksheet = $ExcelPackage.Workbook.Worksheets[1] + + $ExcelPackage.File | Should -BeLike ([IO.Path]::GetTempPath() + '*') + $Worksheet.Tables[0].Name | Should -Be 'Table1' + $Worksheet.AutoFilterAddress | Should -BeNullOrEmpty + $Worksheet.Column(5).Width | Should -BeGreaterThan 9.5 + } + it "Now allows override of Path and TableName".PadRight(87) { + $ExcelPackage = $Processes | Export-Excel -Now -PassThru -Path $Path -TableName:$false + $Worksheet = $ExcelPackage.Workbook.Worksheets[1] + + $ExcelPackage.File | Should -Be $Path + $Worksheet.Tables | Should -BeNullOrEmpty + $Worksheet.AutoFilterAddress | Should -BeNullOrEmpty + $Worksheet.Column(5).Width | Should -BeGreaterThan 9.5 + } + <# Mock looks unreliable need to check + Mock -CommandName 'Invoke-Item' + it "Now will Show".PadRight(87) { + $Processes | Export-Excel + Assert-MockCalled -CommandName 'Invoke-Item' -Times 1 -Exactly -Scope 'It' + } + it "Now allows override of Show".PadRight(87) { + $Processes | Export-Excel -Show:$false + Assert-MockCalled -CommandName 'Invoke-Item' -Times 0 -Exactly -Scope 'It' + } + #> + it "Now allows override of AutoSize and TableName to AutoFilter".PadRight(87) { + $ExcelPackage = $Processes | Export-Excel -Now -PassThru -AutoSize:$false -AutoFilter + $Worksheet = $ExcelPackage.Workbook.Worksheets[1] + + $Worksheet.Tables | Should -BeNullOrEmpty + $Worksheet.AutoFilterAddress | Should -Not -BeNullOrEmpty + [math]::Round($Worksheet.Column(5).Width, 2) | Should -Be 9.14 + } + it "Now allows to set TableName".PadRight(87) { + $ExcelPackage = $Processes | Export-Excel -Now -PassThru -TableName 'Data' + $Worksheet = $ExcelPackage.Workbook.Worksheets[1] + + $Worksheet.Tables[0].Name | Should -Be 'Data' + $Worksheet.AutoFilterAddress | Should -BeNullOrEmpty + $Worksheet.Column(5).Width | Should -BeGreaterThan 9.5 + } + } } From 35e013fe1dde3e048a6e1ec50184d86ae4f140ee Mon Sep 17 00:00:00 2001 From: ili101 Date: Sun, 18 Aug 2019 22:37:24 +0300 Subject: [PATCH 06/11] Reverted to Pester Old syntax --- __tests__/Export-Excel.Tests.ps1 | 48 ++++++++++++++++---------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/__tests__/Export-Excel.Tests.ps1 b/__tests__/Export-Excel.Tests.ps1 index d5f2a0c..d259369 100644 --- a/__tests__/Export-Excel.Tests.ps1 +++ b/__tests__/Export-Excel.Tests.ps1 @@ -984,15 +984,15 @@ Describe ExportExcel { $ExcelPackage = $Processes | Export-Excel -Path $Path -PassThru $Worksheet = $ExcelPackage.Workbook.Worksheets[1] - $ExcelPackage.File | Should -Be $Path - $Worksheet.Cells['A1'].Value | Should -Be 'Name' - $Worksheet.Tables | Should -BeNullOrEmpty - $Worksheet.AutoFilterAddress | Should -BeNullOrEmpty + $ExcelPackage.File | Should Be $Path + $Worksheet.Cells['A1'].Value | Should Be 'Name' + $Worksheet.Tables | Should BeNullOrEmpty + $Worksheet.AutoFilterAddress | Should BeNullOrEmpty } it "ExcelPackage Set. Path and (ExcelPackage or Now) should throw".PadRight(87) { $ExcelPackage = Export-Excel -Path $Path -PassThru - {Export-Excel -ExcelPackage $ExcelPackage -Path $Path} | Should -Throw -ExpectedMessage 'Parameter set cannot be resolved using the specified named parameters' - {Export-Excel -ExcelPackage $ExcelPackage -Now} | Should -Throw -ExpectedMessage 'Parameter set cannot be resolved using the specified named parameters' + {Export-Excel -ExcelPackage $ExcelPackage -Path $Path} | Should Throw 'Parameter set cannot be resolved using the specified named parameters' + {Export-Excel -ExcelPackage $ExcelPackage -Now} | Should Throw 'Parameter set cannot be resolved using the specified named parameters' $Processes | Export-Excel -ExcelPackage $ExcelPackage Remove-Item -Path $Path @@ -1001,33 +1001,33 @@ Describe ExportExcel { $ExcelPackage = Export-Excel -Path $Path -PassThru -TableName 'Data' -AutoFilter $Worksheet = $ExcelPackage.Workbook.Worksheets[1] - $Worksheet.Tables[0].Name | Should -Be 'Data' - $Worksheet.AutoFilterAddress | Should -BeNullOrEmpty + $Worksheet.Tables[0].Name | Should Be 'Data' + $Worksheet.AutoFilterAddress | Should BeNullOrEmpty } it "Default Set with Path and TableName with generated name".PadRight(87) { $ExcelPackage = $Processes | Export-Excel -Path $Path -PassThru -TableName '' $Worksheet = $ExcelPackage.Workbook.Worksheets[1] - $ExcelPackage.File | Should -Be $Path - $Worksheet.Tables[0].Name | Should -Be 'Table1' + $ExcelPackage.File | Should Be $Path + $Worksheet.Tables[0].Name | Should Be 'Table1' } it "Now will use temp Path, set TableName with generated name and AutoSize".PadRight(87) { $ExcelPackage = $Processes | Export-Excel -Now -PassThru $Worksheet = $ExcelPackage.Workbook.Worksheets[1] - $ExcelPackage.File | Should -BeLike ([IO.Path]::GetTempPath() + '*') - $Worksheet.Tables[0].Name | Should -Be 'Table1' - $Worksheet.AutoFilterAddress | Should -BeNullOrEmpty - $Worksheet.Column(5).Width | Should -BeGreaterThan 9.5 + $ExcelPackage.File | Should BeLike ([IO.Path]::GetTempPath() + '*') + $Worksheet.Tables[0].Name | Should Be 'Table1' + $Worksheet.AutoFilterAddress | Should BeNullOrEmpty + $Worksheet.Column(5).Width | Should BeGreaterThan 9.5 } it "Now allows override of Path and TableName".PadRight(87) { $ExcelPackage = $Processes | Export-Excel -Now -PassThru -Path $Path -TableName:$false $Worksheet = $ExcelPackage.Workbook.Worksheets[1] - $ExcelPackage.File | Should -Be $Path - $Worksheet.Tables | Should -BeNullOrEmpty - $Worksheet.AutoFilterAddress | Should -BeNullOrEmpty - $Worksheet.Column(5).Width | Should -BeGreaterThan 9.5 + $ExcelPackage.File | Should Be $Path + $Worksheet.Tables | Should BeNullOrEmpty + $Worksheet.AutoFilterAddress | Should BeNullOrEmpty + $Worksheet.Column(5).Width | Should BeGreaterThan 9.5 } <# Mock looks unreliable need to check Mock -CommandName 'Invoke-Item' @@ -1044,17 +1044,17 @@ Describe ExportExcel { $ExcelPackage = $Processes | Export-Excel -Now -PassThru -AutoSize:$false -AutoFilter $Worksheet = $ExcelPackage.Workbook.Worksheets[1] - $Worksheet.Tables | Should -BeNullOrEmpty - $Worksheet.AutoFilterAddress | Should -Not -BeNullOrEmpty - [math]::Round($Worksheet.Column(5).Width, 2) | Should -Be 9.14 + $Worksheet.Tables | Should BeNullOrEmpty + $Worksheet.AutoFilterAddress | Should Not BeNullOrEmpty + [math]::Round($Worksheet.Column(5).Width, 2) | Should Be 9.14 } it "Now allows to set TableName".PadRight(87) { $ExcelPackage = $Processes | Export-Excel -Now -PassThru -TableName 'Data' $Worksheet = $ExcelPackage.Workbook.Worksheets[1] - $Worksheet.Tables[0].Name | Should -Be 'Data' - $Worksheet.AutoFilterAddress | Should -BeNullOrEmpty - $Worksheet.Column(5).Width | Should -BeGreaterThan 9.5 + $Worksheet.Tables[0].Name | Should Be 'Data' + $Worksheet.AutoFilterAddress | Should BeNullOrEmpty + $Worksheet.Column(5).Width | Should BeGreaterThan 9.5 } } } From efd8dcd60a834e384cf4083bc555bcd0566534a3 Mon Sep 17 00:00:00 2001 From: dfinke Date: Wed, 21 Aug 2019 17:36:57 -0400 Subject: [PATCH 07/11] Bump version --- ImportExcel.psd1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ImportExcel.psd1 b/ImportExcel.psd1 index 0cef410..7fa8639 100644 --- a/ImportExcel.psd1 +++ b/ImportExcel.psd1 @@ -4,7 +4,7 @@ RootModule = 'ImportExcel.psm1' # Version number of this module. - ModuleVersion = '6.2.3' + ModuleVersion = '6.2.4' # ID used to uniquely identify this module GUID = '60dd4136-feff-401a-ba27-a84458c57ede' @@ -16,7 +16,7 @@ CompanyName = 'Doug Finke' # Copyright statement for this module - Copyright = 'c 2015 All rights reserved.' + Copyright = 'c 2019 All rights reserved.' # Description of the functionality provided by this module Description = @' From 554163a911835ae7cca0d2d47981f47fd268b268 Mon Sep 17 00:00:00 2001 From: dfinke Date: Wed, 21 Aug 2019 17:37:05 -0400 Subject: [PATCH 08/11] Update readme --- README.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/README.md b/README.md index 1a24a43..446ae84 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,24 @@ Install-Module ImportExcel -scope CurrentUser ```PowerShell Install-Module ImportExcel ``` + +# What's new 6.2.4 + +Sensible parameter defaults, make your life easier and gets things done faster. + +- Thank you to [DomRRuggeri](https://github.com/DomRRuggeri) for the initial Out-Excel PR and kicking off the conversation on the improvements. +- Thank you to [ili101](https://github.com/ili101) for refactoring and improving the defaults, and adding the tests for parameters. + +- Creates a table, with filtering +- Chooses a `TableStyle` +- Displays the Excel spreadsheet automatically + +```powershell +Get-Process | select Company, Name, Handles | Export-Excel +``` + +![image](./images/ImproveNowDefaults.png) + # What's new 6.2.3 Thank you [jhoneill](https://github.com/jhoneill). From 1a51d38c0fd61400cc9982d8ea1f0aa77acc23ec Mon Sep 17 00:00:00 2001 From: dfinke Date: Wed, 21 Aug 2019 17:37:19 -0400 Subject: [PATCH 09/11] Add image showing defaults --- images/ImproveNowDefaults.png | Bin 0 -> 111580 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/ImproveNowDefaults.png diff --git a/images/ImproveNowDefaults.png b/images/ImproveNowDefaults.png new file mode 100644 index 0000000000000000000000000000000000000000..2d3b6801c625f106bf1fa663e4cc5739491458aa GIT binary patch literal 111580 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
  • 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

    5k;;Jat;l4%7%=+`PppE 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 A{r~^~ literal 0 HcmV?d00001 From fb16ec4677a31bbfd47d99a1151b869fc29d90ab Mon Sep 17 00:00:00 2001 From: dfinke Date: Sun, 25 Aug 2019 08:55:43 -0400 Subject: [PATCH 10/11] Updated az yml to test on Linux and Mac --- azure-pipelines.yml | 49 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 39 insertions(+), 10 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 68cca0d..a53b71d 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -1,15 +1,44 @@ -resources: -- repo: self -queue: - name: Hosted VS2017 -steps: -- powershell: ./ '.\DoTests.ps1' - displayName: 'PowerShell Script' +jobs: + - job: Build_PS_Win2016 + pool: + vmImage: vs2017-win2016 + steps: + - powershell: | + .\DoTests.ps1 + displayName: 'Run Tests on Windows' -- task: ArchiveFiles@2 - displayName: 'Archive $(Build.BinariesDirectory)' + - job: Build_PSCore_Ubuntu1604 + + pool: + vmImage: ubuntu-16.04 + + steps: + - script: | + curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - + curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list + sudo apt-get update + sudo apt-get install -y powershell + displayName: 'Install PowerShell Core' + + - script: | + pwsh -c '.\DoTests.ps1' + displayName: 'Run Tests on Linux' + + - job: Build_PSCore_MacOS1013 + pool: + vmImage: xcode9-macos10.13 + steps: + - script: | + brew update + brew tap caskroom/cask + brew cask install powershell + displayName: 'Install PowerShell Core' + + - script: | + pwsh -c '.\DoTests.ps1' + displayName: 'Run Tests on macOS' trigger: paths: exclude: - - README.md + - README.md From a016f069a5b3470a03fcb3bf064f21a8bd38c23d Mon Sep 17 00:00:00 2001 From: dfinke Date: Sun, 25 Aug 2019 12:04:14 -0400 Subject: [PATCH 11/11] Added Azure DevOps pipeline for three OSes --- README.md | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 446ae84..25d36ae 100644 --- a/README.md +++ b/README.md @@ -7,23 +7,19 @@ If this project helped you reduce the time to get your job done, let me know. ![](https://media.giphy.com/media/hpXxJ78YtpT0s/giphy.gif) +
    -
    -
    -
    -

    - - +

    + + +

    -

    - - - -

    +|CI System |OS|Status| +|---|---|---| +|Azure DevOps|Windows|[![Build status](https://dougfinke.visualstudio.com/ImportExcel/_apis/build/status/ImportExcel-CI)](https://dougfinke.visualstudio.com/ImportExcel/_build/latest?definitionId=10)| +|Azure DevOps|Windows, Linux, Mac|[![Build Status](https://dougfinke.visualstudio.com/ImportExcel/_apis/build/status/dfinke.ImportExcel?branchName=master)](https://dougfinke.visualstudio.com/ImportExcel/_build/latest?definitionId=20&branchName=master)| +|Appveyor|Windows|[![Build Status](https://ci.appveyor.com/api/projects/status/21hko6eqtpccrkba/branch/master?svg=true)](https://ci.appveyor.com/project/dfinke/importexcel/branch/master)| @@ -37,7 +33,8 @@ This PowerShell Module allows you to read and write Excel files without installi ![](https://raw.githubusercontent.com/dfinke/ImportExcel/master/images/testimonial.png) # How to Videos -* [PowerShell Excel Module - ImportExcel](https://www.youtube.com/watch?v=U3Ne_yX4tYo&list=PL5uoqS92stXioZw-u-ze_NtvSo0k0K0kq) + +* [PowerShell Excel Module - ImportExcel](https://www.youtube.com/watch?v=fvKKdIzJCws&list=PL5uoqS92stXioZw-u-ze_NtvSo0k0K0kq) Installation -