mirror of
https://github.com/dfinke/ImportExcel.git
synced 2025-12-10 21:33:16 +00:00
Fixes to tests to be run x-plaform
This commit is contained in:
@@ -1,4 +1,7 @@
|
|||||||
Describe "Test adding trendlines to charts" {
|
Import-Module $PSScriptRoot\..\ImportExcel.psd1 -Force
|
||||||
|
if (-not $env:TEMP) {$env:TEMP = [IO.Path]::GetTempPath() -replace "/$","" }
|
||||||
|
$notWindows = ($PSVersionTable.os -and $PSVersionTable.os -notMatch 'Windows' )
|
||||||
|
Describe "Test adding trendlines to charts" {
|
||||||
BeforeAll {
|
BeforeAll {
|
||||||
$script:data = ConvertFrom-Csv @"
|
$script:data = ConvertFrom-Csv @"
|
||||||
Region,Item,TotalSold
|
Region,Item,TotalSold
|
||||||
@@ -21,7 +24,7 @@ South,avocado,73
|
|||||||
Remove-Item $xlfile -ErrorAction SilentlyContinue
|
Remove-Item $xlfile -ErrorAction SilentlyContinue
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Should add a linear trendline" {
|
It "Should add a linear trendline".PadRight(90) {
|
||||||
|
|
||||||
$cd = New-ExcelChartDefinition -XRange Region -YRange TotalSold -ChartType ColumnClustered -ChartTrendLine Linear
|
$cd = New-ExcelChartDefinition -XRange Region -YRange TotalSold -ChartType ColumnClustered -ChartTrendLine Linear
|
||||||
$data | Export-Excel $xlfile -ExcelChartDefinition $cd -AutoNameRange
|
$data | Export-Excel $xlfile -ExcelChartDefinition $cd -AutoNameRange
|
||||||
@@ -34,7 +37,7 @@ South,avocado,73
|
|||||||
Close-ExcelPackage $excel
|
Close-ExcelPackage $excel
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Should add a MovingAvgerage trendline" {
|
It "Should add a MovingAvgerage trendline".PadRight(90) {
|
||||||
|
|
||||||
$cd = New-ExcelChartDefinition -XRange Region -YRange TotalSold -ChartType ColumnClustered -ChartTrendLine MovingAvgerage
|
$cd = New-ExcelChartDefinition -XRange Region -YRange TotalSold -ChartType ColumnClustered -ChartTrendLine MovingAvgerage
|
||||||
$data | Export-Excel $xlfile -ExcelChartDefinition $cd -AutoNameRange
|
$data | Export-Excel $xlfile -ExcelChartDefinition $cd -AutoNameRange
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
#Requires -Modules Pester
|
#Requires -Modules Pester
|
||||||
|
if ($PSVersionTable.os -and $PSVersionTable.os -notMatch 'Windows' ) {return} #Currently this test outputs windows services so only run on Windows.
|
||||||
|
if (-not $env:TEMP) {$env:TEMP = [IO.Path]::GetTempPath() }
|
||||||
Import-Module $PSScriptRoot\..\ImportExcel.psd1 -Force
|
Import-Module $PSScriptRoot\..\ImportExcel.psd1 -Force
|
||||||
if ($PSVersionTable.PSVersion.Major -gt 5) { Write-Warning "Can't test grid view on V6 and later" }
|
if ($PSVersionTable.PSVersion.Major -gt 5) { Write-Warning "Can't test grid view on V6 and later" }
|
||||||
else {Add-Type -AssemblyName System.Windows.Forms }
|
else {Add-Type -AssemblyName System.Windows.Forms }
|
||||||
@@ -19,7 +21,7 @@ Describe "Compare Worksheet" {
|
|||||||
$s.RemoveAt(5)
|
$s.RemoveAt(5)
|
||||||
$s | Export-Excel -Path $env:temp\server2.xlsx
|
$s | Export-Excel -Path $env:temp\server2.xlsx
|
||||||
#Assume default worksheet name, (sheet1) and column header for key ("name")
|
#Assume default worksheet name, (sheet1) and column header for key ("name")
|
||||||
$comp = compare-WorkSheet "$env:temp\Server1.xlsx" "$env:temp\Server2.xlsx" | Sort-Object -Property _row, _file
|
$comp = compare-WorkSheet "$env:temp\server1.xlsx" "$env:temp\server2.xlsx" | Sort-Object -Property _row, _file
|
||||||
}
|
}
|
||||||
it "Found the right number of differences " {
|
it "Found the right number of differences " {
|
||||||
$comp | should not beNullOrEmpty
|
$comp | should not beNullOrEmpty
|
||||||
@@ -55,13 +57,13 @@ Describe "Compare Worksheet" {
|
|||||||
$ModulePath = (Get-Command -Name 'Compare-WorkSheet').Module.Path
|
$ModulePath = (Get-Command -Name 'Compare-WorkSheet').Module.Path
|
||||||
$PowerShellExec = if ($PSEdition -eq 'Core') {'pwsh.exe'} else {'powershell.exe'}
|
$PowerShellExec = if ($PSEdition -eq 'Core') {'pwsh.exe'} else {'powershell.exe'}
|
||||||
$PowerShellPath = Join-Path -Path $PSHOME -ChildPath $PowerShellExec
|
$PowerShellPath = Join-Path -Path $PSHOME -ChildPath $PowerShellExec
|
||||||
. $PowerShellPath -Command ("Import-Module $ModulePath; " + '$null = Compare-WorkSheet "$env:temp\Server1.xlsx" "$env:temp\Server2.xlsx" -BackgroundColor ([System.Drawing.Color]::LightGreen) -GridView; Start-Sleep -sec 5')
|
. $PowerShellPath -Command ("Import-Module $ModulePath; " + '$null = Compare-WorkSheet "$env:temp\server1.xlsx" "$env:temp\server2.xlsx" -BackgroundColor ([System.Drawing.Color]::LightGreen) -GridView; Start-Sleep -sec 5')
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$null = Compare-WorkSheet "$env:temp\Server1.xlsx" "$env:temp\Server2.xlsx" -BackgroundColor ([System.Drawing.Color]::LightGreen) -GridView:$useGrid
|
$null = Compare-WorkSheet "$env:temp\server1.xlsx" "$env:temp\server2.xlsx" -BackgroundColor ([System.Drawing.Color]::LightGreen) -GridView:$useGrid
|
||||||
}
|
}
|
||||||
$xl1 = Open-ExcelPackage -Path "$env:temp\Server1.xlsx"
|
$xl1 = Open-ExcelPackage -Path "$env:temp\server1.xlsx"
|
||||||
$xl2 = Open-ExcelPackage -Path "$env:temp\Server2.xlsx"
|
$xl2 = Open-ExcelPackage -Path "$env:temp\server2.xlsx"
|
||||||
$s1Sheet = $xl1.Workbook.Worksheets[1]
|
$s1Sheet = $xl1.Workbook.Worksheets[1]
|
||||||
$s2Sheet = $xl2.Workbook.Worksheets[1]
|
$s2Sheet = $xl2.Workbook.Worksheets[1]
|
||||||
}
|
}
|
||||||
@@ -85,9 +87,9 @@ Describe "Compare Worksheet" {
|
|||||||
|
|
||||||
Context "Setting the forgound to highlight changed properties" {
|
Context "Setting the forgound to highlight changed properties" {
|
||||||
BeforeAll {
|
BeforeAll {
|
||||||
$null = compare-WorkSheet "$env:temp\Server1.xlsx" "$env:temp\Server2.xlsx" -AllDataBackgroundColor([System.Drawing.Color]::white) -BackgroundColor ([System.Drawing.Color]::LightGreen) -FontColor ([System.Drawing.Color]::DarkRed)
|
$null = compare-WorkSheet "$env:temp\server1.xlsx" "$env:temp\server2.xlsx" -AllDataBackgroundColor([System.Drawing.Color]::white) -BackgroundColor ([System.Drawing.Color]::LightGreen) -FontColor ([System.Drawing.Color]::DarkRed)
|
||||||
$xl1 = Open-ExcelPackage -Path "$env:temp\Server1.xlsx"
|
$xl1 = Open-ExcelPackage -Path "$env:temp\server1.xlsx"
|
||||||
$xl2 = Open-ExcelPackage -Path "$env:temp\Server2.xlsx"
|
$xl2 = Open-ExcelPackage -Path "$env:temp\server2.xlsx"
|
||||||
$s1Sheet = $xl1.Workbook.Worksheets[1]
|
$s1Sheet = $xl1.Workbook.Worksheets[1]
|
||||||
$s2Sheet = $xl2.Workbook.Worksheets[1]
|
$s2Sheet = $xl2.Workbook.Worksheets[1]
|
||||||
}
|
}
|
||||||
@@ -130,9 +132,9 @@ Describe "Compare Worksheet" {
|
|||||||
|
|
||||||
$s | Select-Object -Property ServiceName, DisplayName, StartType, ServiceType | Export-Excel -Path $env:temp\server2.xlsx -WorkSheetname server2
|
$s | Select-Object -Property ServiceName, DisplayName, StartType, ServiceType | Export-Excel -Path $env:temp\server2.xlsx -WorkSheetname server2
|
||||||
#Assume default worksheet name, (sheet1) and column header for key ("name")
|
#Assume default worksheet name, (sheet1) and column header for key ("name")
|
||||||
$comp = compare-WorkSheet "$env:temp\Server1.xlsx" "$env:temp\Server2.xlsx" -WorkSheetName Server1,Server2 -Key ServiceName -Property DisplayName,StartType -AllDataBackgroundColor ([System.Drawing.Color]::AliceBlue) -BackgroundColor ([System.Drawing.Color]::White) -FontColor ([System.Drawing.Color]::Red) | Sort-Object _row,_file
|
$comp = compare-WorkSheet "$env:temp\server1.xlsx" "$env:temp\server2.xlsx" -WorkSheetName Server1,Server2 -Key ServiceName -Property DisplayName,StartType -AllDataBackgroundColor ([System.Drawing.Color]::AliceBlue) -BackgroundColor ([System.Drawing.Color]::White) -FontColor ([System.Drawing.Color]::Red) | Sort-Object _row,_file
|
||||||
$xl1 = Open-ExcelPackage -Path "$env:temp\Server1.xlsx"
|
$xl1 = Open-ExcelPackage -Path "$env:temp\server1.xlsx"
|
||||||
$xl2 = Open-ExcelPackage -Path "$env:temp\Server2.xlsx"
|
$xl2 = Open-ExcelPackage -Path "$env:temp\server2.xlsx"
|
||||||
$s1Sheet = $xl1.Workbook.Worksheets["server1"]
|
$s1Sheet = $xl1.Workbook.Worksheets["server1"]
|
||||||
$s2Sheet = $xl2.Workbook.Worksheets["server2"]
|
$s2Sheet = $xl2.Workbook.Worksheets["server2"]
|
||||||
}
|
}
|
||||||
@@ -188,7 +190,7 @@ Describe "Compare Worksheet" {
|
|||||||
Describe "Merge Worksheet" {
|
Describe "Merge Worksheet" {
|
||||||
Context "Merge with 3 properties" {
|
Context "Merge with 3 properties" {
|
||||||
BeforeAll {
|
BeforeAll {
|
||||||
Remove-Item -Path "$env:temp\server*.xlsx" , "$env:temp\Combined*.xlsx" -ErrorAction SilentlyContinue
|
Remove-Item -Path "$env:temp\server*.xlsx" , "$env:temp\combined*.xlsx" -ErrorAction SilentlyContinue
|
||||||
[System.Collections.ArrayList]$s = get-service | Select-Object -first 25 -Property *
|
[System.Collections.ArrayList]$s = get-service | Select-Object -first 25 -Property *
|
||||||
|
|
||||||
$s | Export-Excel -Path $env:temp\server1.xlsx
|
$s | Export-Excel -Path $env:temp\server1.xlsx
|
||||||
@@ -205,7 +207,7 @@ Describe "Merge Worksheet" {
|
|||||||
|
|
||||||
$s | Export-Excel -Path $env:temp\server2.xlsx
|
$s | Export-Excel -Path $env:temp\server2.xlsx
|
||||||
#Assume default worksheet name, (sheet1) and column header for key ("name")
|
#Assume default worksheet name, (sheet1) and column header for key ("name")
|
||||||
Merge-Worksheet -Referencefile "$env:temp\server1.xlsx" -Differencefile "$env:temp\Server2.xlsx" -OutputFile "$env:temp\combined1.xlsx" -Property name,displayname,startType -Key name
|
Merge-Worksheet -Referencefile "$env:temp\server1.xlsx" -Differencefile "$env:temp\server2.xlsx" -OutputFile "$env:temp\combined1.xlsx" -Property name,displayname,startType -Key name
|
||||||
$excel = Open-ExcelPackage -Path "$env:temp\combined1.xlsx"
|
$excel = Open-ExcelPackage -Path "$env:temp\combined1.xlsx"
|
||||||
$ws = $excel.Workbook.Worksheets["sheet1"]
|
$ws = $excel.Workbook.Worksheets["sheet1"]
|
||||||
}
|
}
|
||||||
@@ -247,14 +249,14 @@ Describe "Merge Worksheet" {
|
|||||||
}
|
}
|
||||||
Context "Wider data set" {
|
Context "Wider data set" {
|
||||||
it "Coped with columns beyond Z in the Output sheet " {
|
it "Coped with columns beyond Z in the Output sheet " {
|
||||||
{ Merge-Worksheet -Referencefile "$env:temp\server1.xlsx" -Differencefile "$env:temp\Server2.xlsx" -OutputFile "$env:temp\combined2.xlsx" } | Should not throw
|
{ Merge-Worksheet -Referencefile "$env:temp\server1.xlsx" -Differencefile "$env:temp\server2.xlsx" -OutputFile "$env:temp\combined2.xlsx" } | Should not throw
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Describe "Merge Multiple sheets" {
|
Describe "Merge Multiple sheets" {
|
||||||
Context "Merge 3 sheets with 3 properties" {
|
Context "Merge 3 sheets with 3 properties" {
|
||||||
BeforeAll {
|
BeforeAll {
|
||||||
Remove-Item -Path "$env:temp\server*.xlsx" , "$env:temp\Combined*.xlsx" -ErrorAction SilentlyContinue
|
Remove-Item -Path "$env:temp\server*.xlsx" , "$env:temp\combined*.xlsx" -ErrorAction SilentlyContinue
|
||||||
[System.Collections.ArrayList]$s = get-service | Select-Object -first 25 -Property Name,DisplayName,StartType
|
[System.Collections.ArrayList]$s = get-service | Select-Object -first 25 -Property Name,DisplayName,StartType
|
||||||
$s | Export-Excel -Path $env:temp\server1.xlsx
|
$s | Export-Excel -Path $env:temp\server1.xlsx
|
||||||
|
|
||||||
@@ -281,7 +283,7 @@ Describe "Merge Multiple sheets" {
|
|||||||
|
|
||||||
$s | Export-Excel -Path $env:temp\server3.xlsx
|
$s | Export-Excel -Path $env:temp\server3.xlsx
|
||||||
|
|
||||||
Merge-MultipleSheets -Path "$env:temp\server1.xlsx", "$env:temp\Server2.xlsx","$env:temp\Server3.xlsx" -OutputFile "$env:temp\combined3.xlsx" -Property name,displayname,startType -Key name
|
Merge-MultipleSheets -Path "$env:temp\server1.xlsx", "$env:temp\server2.xlsx","$env:temp\server3.xlsx" -OutputFile "$env:temp\combined3.xlsx" -Property name,displayname,startType -Key name
|
||||||
$excel = Open-ExcelPackage -Path "$env:temp\combined3.xlsx"
|
$excel = Open-ExcelPackage -Path "$env:temp\combined3.xlsx"
|
||||||
$ws = $excel.Workbook.Worksheets["sheet1"]
|
$ws = $excel.Workbook.Worksheets["sheet1"]
|
||||||
|
|
||||||
@@ -295,10 +297,10 @@ Describe "Merge Multiple sheets" {
|
|||||||
$ws.Cells[ 1,6 ].Value | Should be "Server2 StartType"
|
$ws.Cells[ 1,6 ].Value | Should be "Server2 StartType"
|
||||||
$ws.Column(7).hidden | Should be $true
|
$ws.Column(7).hidden | Should be $true
|
||||||
$ws.Cells[ 1,8].Value | Should be "Server2 Row"
|
$ws.Cells[ 1,8].Value | Should be "Server2 Row"
|
||||||
$ws.Cells[ 1,9 ].Value | Should be "Server3 DisplayName"
|
$ws.Cells[ 1,9 ].Value | Should be "server3 DisplayName"
|
||||||
$ws.Cells[ 1,10].Value | Should be "Server3 StartType"
|
$ws.Cells[ 1,10].Value | Should be "server3 StartType"
|
||||||
$ws.Column(11).hidden | Should be $true
|
$ws.Column(11).hidden | Should be $true
|
||||||
$ws.Cells[ 1,12].Value | Should be "Server3 Row"
|
$ws.Cells[ 1,12].Value | Should be "server3 Row"
|
||||||
}
|
}
|
||||||
it "Joined the three sheets correctly " {
|
it "Joined the three sheets correctly " {
|
||||||
$ws.Cells[ 2,3 ].Value | Should be $ws.Cells[ 2,5 ].Value
|
$ws.Cells[ 2,3 ].Value | Should be $ws.Cells[ 2,5 ].Value
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
Import-Module $PSScriptRoot\..\ImportExcel.psd1 -Force
|
Import-Module $PSScriptRoot\..\ImportExcel.psd1 -Force
|
||||||
|
if (-not $env:TEMP) {$env:TEMP = [IO.Path]::GetTempPath() -replace "/$","" }
|
||||||
$xlFile = "$env:TEMP\testSQL.xlsx"
|
$xlFile = "$env:TEMP\testSQL.xlsx"
|
||||||
|
|
||||||
Describe "ConvertFrom-ExcelToSQLInsert" {
|
Describe "ConvertFrom-ExcelToSQLInsert" {
|
||||||
@@ -16,7 +16,7 @@ Describe "ConvertFrom-ExcelToSQLInsert" {
|
|||||||
Remove-Item $xlFile -Recurse -Force -ErrorAction Ignore
|
Remove-Item $xlFile -Recurse -Force -ErrorAction Ignore
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Should be empty double single quotes" {
|
It "Should be empty double single quotes".PadRight(90) {
|
||||||
$expected="INSERT INTO Sheet1 ('Name', 'Age') Values('John', '');"
|
$expected="INSERT INTO Sheet1 ('Name', 'Age') Values('John', '');"
|
||||||
|
|
||||||
$actual = ConvertFrom-ExcelToSQLInsert -Path $xlFile Sheet1
|
$actual = ConvertFrom-ExcelToSQLInsert -Path $xlFile Sheet1
|
||||||
@@ -24,7 +24,7 @@ Describe "ConvertFrom-ExcelToSQLInsert" {
|
|||||||
$actual | should be $expected
|
$actual | should be $expected
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Should have NULL" {
|
It "Should have NULL".PadRight(90) {
|
||||||
$expected="INSERT INTO Sheet1 ('Name', 'Age') Values('John', NULL);"
|
$expected="INSERT INTO Sheet1 ('Name', 'Age') Values('John', NULL);"
|
||||||
|
|
||||||
$actual = ConvertFrom-ExcelToSQLInsert -Path $xlFile Sheet1 -ConvertEmptyStringsToNull
|
$actual = ConvertFrom-ExcelToSQLInsert -Path $xlFile Sheet1 -ConvertEmptyStringsToNull
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
if ($PSVersionTable.os -and $PSVersionTable.os -notMatch 'Windows' ) {return} #Currently this test outputs windows services so only run on Windows.
|
||||||
|
if (-not $env:TEMP) {$env:TEMP = [IO.Path]::GetTempPath() -replace "/$","" }
|
||||||
|
|
||||||
$path1 = "$env:TEMP\Test1.xlsx"
|
$path1 = "$env:TEMP\Test1.xlsx"
|
||||||
$path2 = "$env:TEMP\Test2.xlsx"
|
$path2 = "$env:TEMP\Test2.xlsx"
|
||||||
Remove-item -Path $path1, $path2 -ErrorAction SilentlyContinue
|
Remove-item -Path $path1, $path2 -ErrorAction SilentlyContinue
|
||||||
@@ -91,8 +94,8 @@ Describe "Copy-Worksheet" {
|
|||||||
$xlfile = "$env:TEMP\reports.xlsx"
|
$xlfile = "$env:TEMP\reports.xlsx"
|
||||||
$xlfileArchive = "$env:TEMP\reportsArchive.xlsx"
|
$xlfileArchive = "$env:TEMP\reportsArchive.xlsx"
|
||||||
|
|
||||||
rm $xlfile -ErrorAction SilentlyContinue
|
Remove-Item $xlfile -ErrorAction SilentlyContinue
|
||||||
rm $xlfileArchive -ErrorAction SilentlyContinue
|
Remove-Item $xlfileArchive -ErrorAction SilentlyContinue
|
||||||
|
|
||||||
$sheets = echo 1.1.2019 1.2.2019 1.3.2019 1.4.2019 1.5.2019
|
$sheets = echo 1.1.2019 1.2.2019 1.3.2019 1.4.2019 1.5.2019
|
||||||
|
|
||||||
@@ -119,8 +122,8 @@ Describe "Copy-Worksheet" {
|
|||||||
$xlfile = "$env:TEMP\reports.xlsx"
|
$xlfile = "$env:TEMP\reports.xlsx"
|
||||||
$xlfileArchive = "$env:TEMP\reportsArchive.xlsx"
|
$xlfileArchive = "$env:TEMP\reportsArchive.xlsx"
|
||||||
|
|
||||||
rm $xlfile -ErrorAction SilentlyContinue
|
Remove-Item $xlfile -ErrorAction SilentlyContinue
|
||||||
rm $xlfileArchive -ErrorAction SilentlyContinue
|
Remove-Item $xlfileArchive -ErrorAction SilentlyContinue
|
||||||
|
|
||||||
$sheets = echo 1.1.2019 1.2.2019 1.3.2019 1.4.2019 1.5.2019
|
$sheets = echo 1.1.2019 1.2.2019 1.3.2019 1.4.2019 1.5.2019
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,14 @@
|
|||||||
#Requires -Modules Pester
|
#Requires -Modules Pester
|
||||||
|
|
||||||
#Import-Module $PSScriptRoot\..\ImportExcel.psd1 -Force
|
Import-Module $PSScriptRoot\..\ImportExcel.psd1 -Force
|
||||||
|
if (-not $env:TEMP) {$env:TEMP = [IO.Path]::GetTempPath() -replace "/$","" }
|
||||||
|
$notWindows = ($PSVersionTable.os -and $PSVersionTable.os -notMatch 'Windows' )
|
||||||
|
|
||||||
if (Get-process -Name Excel,xlim -ErrorAction SilentlyContinue) { Write-Warning -Message "You need to close Excel before running the tests." ; return}
|
if (Get-process -Name Excel,xlim -ErrorAction SilentlyContinue) { Write-Warning -Message "You need to close Excel before running the tests." ; return}
|
||||||
Describe ExportExcel {
|
Describe ExportExcel {
|
||||||
|
|
||||||
Context "#Example 1 # Creates and opens a file with the right number of rows and columns" {
|
Context "#Example 1 # Creates and opens a file with the right number of rows and columns" {
|
||||||
$path = "$env:TEMP\Test.xlsx"
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
Remove-item -Path $path -ErrorAction SilentlyContinue
|
Remove-item -Path $path -ErrorAction SilentlyContinue
|
||||||
#Test with a maximum of 100 processes for speed; export all properties, then export smaller subsets.
|
#Test with a maximum of 100 processes for speed; export all properties, then export smaller subsets.
|
||||||
$processes = Get-Process | where {$_.StartTime} | Select-Object -first 100 -Property * -excludeProperty Parent
|
$processes = Get-Process | where {$_.StartTime} | Select-Object -first 100 -Property * -excludeProperty Parent
|
||||||
@@ -68,7 +70,7 @@ Describe ExportExcel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Context " # NoAliasOrScriptPropeties -ExcludeProperty and -DisplayPropertySet work" {
|
Context " # NoAliasOrScriptPropeties -ExcludeProperty and -DisplayPropertySet work" {
|
||||||
$path = "$env:TEMP\Test.xlsx"
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
Remove-item -Path $path -ErrorAction SilentlyContinue
|
Remove-item -Path $path -ErrorAction SilentlyContinue
|
||||||
$processes = Get-Process | Select-Object -First 100
|
$processes = Get-Process | Select-Object -First 100
|
||||||
$propertyNames = $Processes[0].psobject.properties.where( {$_.MemberType -eq 'Property'}).name
|
$propertyNames = $Processes[0].psobject.properties.where( {$_.MemberType -eq 'Property'}).name
|
||||||
@@ -117,7 +119,7 @@ Describe ExportExcel {
|
|||||||
|
|
||||||
Context "#Example 2 # Exports a list of numbers and applies number format " {
|
Context "#Example 2 # Exports a list of numbers and applies number format " {
|
||||||
|
|
||||||
$path = "$env:TEMP\Test.xlsx"
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
Remove-item -Path $path -ErrorAction SilentlyContinue
|
Remove-item -Path $path -ErrorAction SilentlyContinue
|
||||||
#testing -ReturnRange switch and applying number format to Formulas as well as values.
|
#testing -ReturnRange switch and applying number format to Formulas as well as values.
|
||||||
$returnedRange = @($null, -1, 0, 34, 777, "", -0.5, 119, -0.1, 234, 788,"=A9+A10") | Export-Excel -NumberFormat '[Blue]$#,##0.00;[Red]-$#,##0.00' -Path $path -ReturnRange
|
$returnedRange = @($null, -1, 0, 34, 777, "", -0.5, 119, -0.1, 234, 788,"=A9+A10") | Export-Excel -NumberFormat '[Blue]$#,##0.00;[Red]-$#,##0.00' -Path $path -ReturnRange
|
||||||
@@ -156,7 +158,7 @@ Describe ExportExcel {
|
|||||||
|
|
||||||
Context " # Number format parameter" {
|
Context " # Number format parameter" {
|
||||||
BeforeAll {
|
BeforeAll {
|
||||||
$path = "$env:temp\test.xlsx"
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
Remove-Item -Path $path -ErrorAction SilentlyContinue
|
Remove-Item -Path $path -ErrorAction SilentlyContinue
|
||||||
1..10 | Export-Excel -Path $path -Numberformat 'Number'
|
1..10 | Export-Excel -Path $path -Numberformat 'Number'
|
||||||
1..10 | Export-Excel -Path $path -Numberformat 'Percentage' -Append
|
1..10 | Export-Excel -Path $path -Numberformat 'Percentage' -Append
|
||||||
@@ -179,7 +181,7 @@ Describe ExportExcel {
|
|||||||
|
|
||||||
if ((Get-Culture).NumberFormat.CurrencySymbol -eq "£") {$OtherCurrencySymbol = "$"}
|
if ((Get-Culture).NumberFormat.CurrencySymbol -eq "£") {$OtherCurrencySymbol = "$"}
|
||||||
else {$OtherCurrencySymbol = "£"}
|
else {$OtherCurrencySymbol = "£"}
|
||||||
$path = "$env:TEMP\Test.xlsx"
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
$warnVar = $null
|
$warnVar = $null
|
||||||
#Test correct export of different data types and number formats; test hyperlinks, test -NoNumberConversion test object is converted to a string with no warnings, test calcuation of formula
|
#Test correct export of different data types and number formats; test hyperlinks, test -NoNumberConversion test object is converted to a string with no warnings, test calcuation of formula
|
||||||
Remove-item -Path $path -ErrorAction SilentlyContinue
|
Remove-item -Path $path -ErrorAction SilentlyContinue
|
||||||
@@ -296,7 +298,7 @@ Describe ExportExcel {
|
|||||||
|
|
||||||
Context "# # Setting cells for different data types with -noHeader" {
|
Context "# # Setting cells for different data types with -noHeader" {
|
||||||
|
|
||||||
$path = "$env:TEMP\Test.xlsx"
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
Remove-item -Path $path -ErrorAction SilentlyContinue
|
Remove-item -Path $path -ErrorAction SilentlyContinue
|
||||||
#Test -NoHeader & -NoNumberConversion
|
#Test -NoHeader & -NoNumberConversion
|
||||||
[PSCustOmobject][Ordered]@{
|
[PSCustOmobject][Ordered]@{
|
||||||
@@ -357,7 +359,7 @@ Describe ExportExcel {
|
|||||||
#Test New-ConditionalText builds correctly
|
#Test New-ConditionalText builds correctly
|
||||||
$ct = New-ConditionalText -ConditionalType GreaterThan 525 -ConditionalTextColor ([System.Drawing.Color]::DarkRed) -BackgroundColor ([System.Drawing.Color]::LightPink)
|
$ct = New-ConditionalText -ConditionalType GreaterThan 525 -ConditionalTextColor ([System.Drawing.Color]::DarkRed) -BackgroundColor ([System.Drawing.Color]::LightPink)
|
||||||
|
|
||||||
$path = "$env:TEMP\Test.xlsx"
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
Remove-item -Path $path -ErrorAction SilentlyContinue
|
Remove-item -Path $path -ErrorAction SilentlyContinue
|
||||||
#Test -ConditionalText with a single conditional spec.
|
#Test -ConditionalText with a single conditional spec.
|
||||||
Write-Output 489 668 299 777 860 151 119 497 234 788 | Export-Excel -Path $path -ConditionalText $ct
|
Write-Output 489 668 299 777 860 151 119 497 234 788 | Export-Excel -Path $path -ConditionalText $ct
|
||||||
@@ -385,8 +387,9 @@ Describe ExportExcel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Context "#Example 6 # Adding multiple conditional formats using short form syntax. " {
|
Context "#Example 6 # Adding multiple conditional formats using short form syntax. " {
|
||||||
|
if ($notwindows) {Write-warning "Test only runs on Windows" ; return}
|
||||||
#Test adding mutliple conditional blocks and using the minimal syntax for new-ConditionalText
|
#Test adding mutliple conditional blocks and using the minimal syntax for new-ConditionalText
|
||||||
$path = "$env:TEMP\Test.xlsx"
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
Remove-item -Path $path -ErrorAction SilentlyContinue
|
Remove-item -Path $path -ErrorAction SilentlyContinue
|
||||||
|
|
||||||
#Testing -Passthrough
|
#Testing -Passthrough
|
||||||
@@ -448,9 +451,11 @@ Describe ExportExcel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Context "#Examples 8 & 9 # Adding Pivot tables and charts from parameters" {
|
Context "#Examples 8 & 9 # Adding Pivot tables and charts from parameters" {
|
||||||
$path = "$env:TEMP\Test.xlsx"
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
#Test -passthru and -worksheetName creating a new, named, sheet in an existing file.
|
#Test -passthru and -worksheetName creating a new, named, sheet in an existing file.
|
||||||
$Excel = Get-Process | Select-Object -first 20 -Property Name, cpu, pm, handles, company | Export-Excel $path -WorkSheetname Processes -PassThru
|
$Script:Procs= Get-Process | Select-Object -first 20 -Property Name, cpu, pm, handles, company
|
||||||
|
if ($Procs.count -lt 20) {Write-warning "Not enough proceses were returned by get-Process to run the test." ; return}
|
||||||
|
$Excel = $Script:Procs| Export-Excel $path -WorkSheetname Processes -PassThru
|
||||||
#Testing -Excel Pacakage and adding a Pivot-table as a second step. Want to save and re-open it ...
|
#Testing -Excel Pacakage and adding a Pivot-table as a second step. Want to save and re-open it ...
|
||||||
Export-Excel -ExcelPackage $Excel -WorkSheetname Processes -IncludePivotTable -PivotRows Company -PivotData PM -NoTotalsInPivot -PivotDataToColumn -Activate
|
Export-Excel -ExcelPackage $Excel -WorkSheetname Processes -IncludePivotTable -PivotRows Company -PivotData PM -NoTotalsInPivot -PivotDataToColumn -Activate
|
||||||
|
|
||||||
@@ -507,7 +512,7 @@ Describe ExportExcel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Context " # Add-Worksheet inserted sheets, moved them correctly, and copied a sheet" {
|
Context " # Add-Worksheet inserted sheets, moved them correctly, and copied a sheet" {
|
||||||
$path = "$env:TEMP\Test.xlsx"
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
#Test the -CopySource and -Movexxxx parameters for Add-WorkSheet
|
#Test the -CopySource and -Movexxxx parameters for Add-WorkSheet
|
||||||
$Excel = Open-ExcelPackage $path
|
$Excel = Open-ExcelPackage $path
|
||||||
#At this point Sheets Should be in the order Sheet1, Processes, ProcessesPivotTable
|
#At this point Sheets Should be in the order Sheet1, Processes, ProcessesPivotTable
|
||||||
@@ -529,7 +534,7 @@ Describe ExportExcel {
|
|||||||
$excel.Workbook.Worksheets[5].Name | Should be "Processes"
|
$excel.Workbook.Worksheets[5].Name | Should be "Processes"
|
||||||
$excel.Workbook.Worksheets[6].Name | Should be "NearDone"
|
$excel.Workbook.Worksheets[6].Name | Should be "NearDone"
|
||||||
$excel.Workbook.Worksheets[7].Name | Should be "Sheet1"
|
$excel.Workbook.Worksheets[7].Name | Should be "Sheet1"
|
||||||
}
|
} -skip:($Procs.count -lt 20)
|
||||||
|
|
||||||
it "Cloned 'Sheet1' to 'NewSheet' " {
|
it "Cloned 'Sheet1' to 'NewSheet' " {
|
||||||
$newWs = $excel.Workbook.Worksheets["NewSheet"]
|
$newWs = $excel.Workbook.Worksheets["NewSheet"]
|
||||||
@@ -542,13 +547,15 @@ Describe ExportExcel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Context " # Create and append with Start row and Start Column, inc ranges and Pivot table. " {
|
Context " # Create and append with Start row and Start Column, inc ranges and Pivot table. " {
|
||||||
$path = "$env:TEMP\Test.xlsx"
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
remove-item -Path $path -ErrorAction SilentlyContinue
|
remove-item -Path $path -ErrorAction SilentlyContinue
|
||||||
#Catch warning
|
#Catch warning
|
||||||
$warnVar = $null
|
$warnVar = $null
|
||||||
#Test -Append with no existing sheet. Test adding a named pivot table from command line parameters and extending ranges when they're not specified explictly
|
#Test -Append with no existing sheet. Test adding a named pivot table from command line parameters and extending ranges when they're not specified explictly
|
||||||
Get-Process | Select-Object -first 10 -Property Name, cpu, pm, handles, company | Export-Excel -StartRow 3 -StartColumn 3 -BoldTopRow -IncludePivotTable -PivotRows Company -PivotData PM -PivotTableName 'PTOffset' -Path $path -WorkSheetname withOffset -Append -PivotFilter Name -NoTotalsInPivot -RangeName procs -AutoFilter -AutoNameRange
|
$Script:Procs= Get-Process
|
||||||
Get-Process | Select-Object -last 10 -Property Name, cpu, pm, handles, company | Export-Excel -StartRow 3 -StartColumn 3 -BoldTopRow -IncludePivotTable -PivotRows Company -PivotData PM -PivotTableName 'PTOffset' -Path $path -WorkSheetname withOffset -Append -WarningAction SilentlyContinue -WarningVariable warnvar
|
if ($Procs.count -lt 20) {Write-warning "Not enough proceses were returned by get-Process to run the test." ; return}
|
||||||
|
$Script:Procs| Select-Object -First 10 -Property Name, cpu, pm, handles, company | Export-Excel -StartRow 3 -StartColumn 3 -BoldTopRow -IncludePivotTable -PivotRows Company -PivotData PM -PivotTableName 'PTOffset' -Path $path -WorkSheetname withOffset -Append -PivotFilter Name -NoTotalsInPivot -RangeName procs -AutoFilter -AutoNameRange
|
||||||
|
$Script:Procs| Select-Object -Last 10 -Property Name, cpu, pm, handles, company | Export-Excel -StartRow 3 -StartColumn 3 -BoldTopRow -IncludePivotTable -PivotRows Company -PivotData PM -PivotTableName 'PTOffset' -Path $path -WorkSheetname withOffset -Append -WarningAction SilentlyContinue -WarningVariable warnvar
|
||||||
$Excel = Open-ExcelPackage $path
|
$Excel = Open-ExcelPackage $path
|
||||||
$dataWs = $Excel.Workbook.Worksheets["withOffset"]
|
$dataWs = $Excel.Workbook.Worksheets["withOffset"]
|
||||||
$pt = $Excel.Workbook.Worksheets["PTOffset"].PivotTables[0]
|
$pt = $Excel.Workbook.Worksheets["PTOffset"].PivotTables[0]
|
||||||
@@ -592,11 +599,14 @@ Describe ExportExcel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Context " # Create and append explicit and auto table and range extension" {
|
Context " # Create and append explicit and auto table and range extension" {
|
||||||
$path = "$env:TEMP\Test.xlsx"
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
#Test -Append automatically extends a table, even when it is not specified in the append command;
|
#Test -Append automatically extends a table, even when it is not specified in the append command;
|
||||||
Get-Process | Select-Object -first 10 -Property Name, cpu, pm, handles, company | Export-Excel -Path $path -TableName ProcTab -AutoNameRange -WorkSheetname NoOffset -ClearSheet
|
$Script:Procs= Get-process
|
||||||
|
if ($Procs.count -lt 20) {Write-warning "Not enough proceses were returned by get-Process to run the test." ; return}
|
||||||
|
|
||||||
|
$Script:Procs| Select-Object -first 10 -Property Name, cpu, pm, handles, company | Export-Excel -Path $path -TableName ProcTab -AutoNameRange -WorkSheetname NoOffset -ClearSheet
|
||||||
#Test number format applying to new data
|
#Test number format applying to new data
|
||||||
Get-Process | Select-Object -last 10 -Property Name, cpu, pm, handles, company | Export-Excel -Path $path -AutoNameRange -WorkSheetname NoOffset -Append -Numberformat 'Number'
|
$Script:Procs| Select-Object -last 10 -Property Name, cpu, pm, handles, company | Export-Excel -Path $path -AutoNameRange -WorkSheetname NoOffset -Append -Numberformat 'Number'
|
||||||
$Excel = Open-ExcelPackage $path
|
$Excel = Open-ExcelPackage $path
|
||||||
$dataWs = $Excel.Workbook.Worksheets["NoOffset"]
|
$dataWs = $Excel.Workbook.Worksheets["NoOffset"]
|
||||||
|
|
||||||
@@ -625,7 +635,8 @@ Describe ExportExcel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Context "#Example 11 # Create and append with title, inc ranges and Pivot table" {
|
Context "#Example 11 # Create and append with title, inc ranges and Pivot table" {
|
||||||
$path = "$env:TEMP\Test.xlsx"
|
if ($Procs.count -lt 20) {Write-warning "Not enough proceses were returned by get-Process to run the test." ; return}
|
||||||
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
#Test New-PivotTableDefinition builds definition using -Pivotfilter and -PivotTotals options.
|
#Test New-PivotTableDefinition builds definition using -Pivotfilter and -PivotTotals options.
|
||||||
$ptDef = [ordered]@{}
|
$ptDef = [ordered]@{}
|
||||||
$ptDef += New-PivotTableDefinition -PivotTableName "PT1" -SourceWorkSheet 'Sheet1' -PivotRows "Status" -PivotData @{'Status' = 'Count'} -PivotTotals Columns -PivotFilter "StartType" -IncludePivotChart -ChartType BarClustered3D -ChartTitle "Services by status" -ChartHeight 512 -ChartWidth 768 -ChartRow 10 -ChartColumn 0 -NoLegend -PivotColumns CanPauseAndContinue
|
$ptDef += New-PivotTableDefinition -PivotTableName "PT1" -SourceWorkSheet 'Sheet1' -PivotRows "Status" -PivotData @{'Status' = 'Count'} -PivotTotals Columns -PivotFilter "StartType" -IncludePivotChart -ChartType BarClustered3D -ChartTitle "Services by status" -ChartHeight 512 -ChartWidth 768 -ChartRow 10 -ChartColumn 0 -NoLegend -PivotColumns CanPauseAndContinue
|
||||||
@@ -707,8 +718,8 @@ Describe ExportExcel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Context "#Example 13 # Formatting and another way to do a pivot. " {
|
Context "#Example 13 # Formatting and another way to do a pivot. " {
|
||||||
$path = "$env:TEMP\Test.xlsx"
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
Remove-Item $path
|
Remove-Item $path -ErrorAction SilentlyContinue
|
||||||
#Test freezing top row/first column, adding formats and a pivot table - from Add-Pivot table not a specification variable - after the export
|
#Test freezing top row/first column, adding formats and a pivot table - from Add-Pivot table not a specification variable - after the export
|
||||||
$excel = Get-Process | Select-Object -Property Name, Company, Handles, CPU, PM, NPM, WS | Export-Excel -Path $path -ClearSheet -WorkSheetname "Processes" -FreezeTopRowFirstColumn -PassThru
|
$excel = Get-Process | Select-Object -Property Name, Company, Handles, CPU, PM, NPM, WS | Export-Excel -Path $path -ClearSheet -WorkSheetname "Processes" -FreezeTopRowFirstColumn -PassThru
|
||||||
$sheet = $excel.Workbook.Worksheets["Processes"]
|
$sheet = $excel.Workbook.Worksheets["Processes"]
|
||||||
@@ -736,8 +747,6 @@ Describe ExportExcel {
|
|||||||
}
|
}
|
||||||
it "Applied the formating " {
|
it "Applied the formating " {
|
||||||
$sheet | Should not beNullOrEmpty
|
$sheet | Should not beNullOrEmpty
|
||||||
$sheet.Column(1).wdith | Should not be $sheet.DefaultColWidth
|
|
||||||
$sheet.Column(7).wdith | Should not be $sheet.DefaultColWidth
|
|
||||||
$sheet.Column(1).style.font.bold | Should be $true
|
$sheet.Column(1).style.font.bold | Should be $true
|
||||||
$sheet.Column(2).style.wraptext | Should be $true
|
$sheet.Column(2).style.wraptext | Should be $true
|
||||||
$sheet.Column(2).width | Should be 29
|
$sheet.Column(2).width | Should be 29
|
||||||
@@ -760,6 +769,10 @@ Describe ExportExcel {
|
|||||||
$sheet.ConditionalFormatting[2].Formula | Should be '104857600'
|
$sheet.ConditionalFormatting[2].Formula | Should be '104857600'
|
||||||
$sheet.ConditionalFormatting[2].Style.Font.Color.Color.Name | Should be 'ffff0000'
|
$sheet.ConditionalFormatting[2].Style.Font.Color.Color.Name | Should be 'ffff0000'
|
||||||
}
|
}
|
||||||
|
it "Applied autowidth " {
|
||||||
|
$sheet.Column(1).wdith | Should not be $sheet.DefaultColWidth
|
||||||
|
$sheet.Column(7).wdith | Should not be $sheet.DefaultColWidth
|
||||||
|
} -skip:$notwindows
|
||||||
it "Created the named ranges " {
|
it "Created the named ranges " {
|
||||||
$sheet.Names.Count | Should be 7
|
$sheet.Names.Count | Should be 7
|
||||||
$sheet.Names[0].Start.Column | Should be 1
|
$sheet.Names[0].Start.Column | Should be 1
|
||||||
@@ -787,7 +800,7 @@ Describe ExportExcel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Context " # Chart from MultiSeries.ps1 in the Examples\charts Directory" {
|
Context " # Chart from MultiSeries.ps1 in the Examples\charts Directory" {
|
||||||
$path = "$env:TEMP\Test.xlsx"
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
Remove-Item -Path $path -ErrorAction SilentlyContinue
|
Remove-Item -Path $path -ErrorAction SilentlyContinue
|
||||||
#Test we haven't missed any parameters on New-ChartDefinition which are on add chart or vice versa.
|
#Test we haven't missed any parameters on New-ChartDefinition which are on add chart or vice versa.
|
||||||
|
|
||||||
@@ -810,7 +823,7 @@ Describe ExportExcel {
|
|||||||
$data[1].Handles | Should not beNullOrEmpty
|
$data[1].Handles | Should not beNullOrEmpty
|
||||||
$data[1].PM | Should not beNullOrEmpty
|
$data[1].PM | Should not beNullOrEmpty
|
||||||
$data[1].VirtualMemorySize | Should not beNullOrEmpty
|
$data[1].VirtualMemorySize | Should not beNullOrEmpty
|
||||||
}
|
} -skip:($procs.count -lt 20)
|
||||||
$c = New-ExcelChartDefinition -Title Stats -ChartType LineMarkersStacked -XRange "Processes[Name]" -YRange "Processes[PM]", "Processes[VirtualMemorySize]" -SeriesHeader 'PM', 'VMSize'
|
$c = New-ExcelChartDefinition -Title Stats -ChartType LineMarkersStacked -XRange "Processes[Name]" -YRange "Processes[PM]", "Processes[VirtualMemorySize]" -SeriesHeader 'PM', 'VMSize'
|
||||||
|
|
||||||
it "Created the Excel chart definition " {
|
it "Created the Excel chart definition " {
|
||||||
@@ -845,7 +858,7 @@ Describe ExportExcel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Context " # variation of plot.ps1 from Examples Directory using Add chart outside ExportExcel" {
|
Context " # variation of plot.ps1 from Examples Directory using Add chart outside ExportExcel" {
|
||||||
$path = "$env:TEMP\Test.xlsx"
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
#Test inserting a fomual
|
#Test inserting a fomual
|
||||||
$excel = 0..360 | ForEach-Object {[pscustomobject][ordered]@{x = $_; Sinx = "=Sin(Radians(x)) "}} | Export-Excel -AutoNameRange -Path $path -WorkSheetname SinX -ClearSheet -FreezeFirstColumn -PassThru
|
$excel = 0..360 | ForEach-Object {[pscustomobject][ordered]@{x = $_; Sinx = "=Sin(Radians(x)) "}} | Export-Excel -AutoNameRange -Path $path -WorkSheetname SinX -ClearSheet -FreezeFirstColumn -PassThru
|
||||||
#Test-Add Excel Chart to existing data. Test add Conditional formatting with a formula
|
#Test-Add Excel Chart to existing data. Test add Conditional formatting with a formula
|
||||||
@@ -885,8 +898,9 @@ Describe ExportExcel {
|
|||||||
}
|
}
|
||||||
Close-ExcelPackage -ExcelPackage $excel -nosave
|
Close-ExcelPackage -ExcelPackage $excel -nosave
|
||||||
}
|
}
|
||||||
|
|
||||||
Context " # Quick line chart" {
|
Context " # Quick line chart" {
|
||||||
$path = "$env:TEMP\Test.xlsx"
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
Remove-Item -Path $path -ErrorAction SilentlyContinue
|
Remove-Item -Path $path -ErrorAction SilentlyContinue
|
||||||
#test drawing a chart when data doesn't have a string
|
#test drawing a chart when data doesn't have a string
|
||||||
0..360 | ForEach-Object {[pscustomobject][ordered]@{x = $_; Sinx = "=Sin(Radians(x)) "}} | Export-Excel -AutoNameRange -Path $path -LineChart
|
0..360 | ForEach-Object {[pscustomobject][ordered]@{x = $_; Sinx = "=Sin(Radians(x)) "}} | Export-Excel -AutoNameRange -Path $path -LineChart
|
||||||
@@ -903,11 +917,11 @@ Describe ExportExcel {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Context " # Quick Pie chart and three icon conditional formating" {
|
Context " # Quick Pie chart and three icon conditional formating" {
|
||||||
$path = "$Env:TEMP\Pie.xlsx"
|
$path = Join-Path $Env:TEMP "Pie.xlsx"
|
||||||
Remove-Item -Path $path -ErrorAction SilentlyContinue
|
Remove-Item -Path $path -ErrorAction SilentlyContinue
|
||||||
|
$Script:Procs= Get-Process
|
||||||
|
if ($Procs.count -lt 20) {Write-warning "Not enough proceses were returned by get-Process to run the test." ; return}
|
||||||
$range = Get-Process| Group-Object -Property company | Where-Object -Property name |
|
$range = Get-Process| Group-Object -Property company | Where-Object -Property name |
|
||||||
Select-Object -Property Name, @{n="TotalPm";e={($_.group | Measure-Object -sum -Property pm).sum }} |
|
Select-Object -Property Name, @{n="TotalPm";e={($_.group | Measure-Object -sum -Property pm).sum }} |
|
||||||
Export-Excel -NoHeader -AutoNameRange -path $path -ReturnRange -PieChart -ShowPercent
|
Export-Excel -NoHeader -AutoNameRange -path $path -ReturnRange -PieChart -ShowPercent
|
||||||
@@ -943,7 +957,8 @@ Describe ExportExcel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Context " # Awkward multiple tables" {
|
Context " # Awkward multiple tables" {
|
||||||
$path = "$Env:TEMP\test.xlsx"
|
if ($notWindows) {Write-warning "Test only runs on Windows" ; return}
|
||||||
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
#Test creating 3 on overlapping tables on the same page. Create rightmost the left most then middle.
|
#Test creating 3 on overlapping tables on the same page. Create rightmost the left most then middle.
|
||||||
remove-item -Path $path -ErrorAction SilentlyContinue
|
remove-item -Path $path -ErrorAction SilentlyContinue
|
||||||
$r = Get-ChildItem -path C:\WINDOWS\system32 -File
|
$r = Get-ChildItem -path C:\WINDOWS\system32 -File
|
||||||
@@ -978,7 +993,7 @@ Describe ExportExcel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Context " # Parameters and ParameterSets" {
|
Context " # Parameters and ParameterSets" {
|
||||||
$Path = "$Env:TEMP\test.xlsx"
|
$Path = join-path $env:TEMP "temp.xlsx"
|
||||||
Remove-Item -Path $Path -ErrorAction SilentlyContinue
|
Remove-Item -Path $Path -ErrorAction SilentlyContinue
|
||||||
$Processes = Get-Process | Select-Object -first 10 -Property Name, cpu, pm, handles, company
|
$Processes = Get-Process | Select-Object -first 10 -Property Name, cpu, pm, handles, company
|
||||||
|
|
||||||
@@ -1013,24 +1028,26 @@ Describe ExportExcel {
|
|||||||
$ExcelPackage.File | Should Be $Path
|
$ExcelPackage.File | Should Be $Path
|
||||||
$Worksheet.Tables[0].Name | Should Be 'Table1'
|
$Worksheet.Tables[0].Name | Should Be 'Table1'
|
||||||
}
|
}
|
||||||
it "Now will use temp Path, set TableName with generated name and AutoSize".PadRight(87) {
|
it "Now will use temp Path, set TableName with generated name".PadRight(87) {
|
||||||
$ExcelPackage = $Processes | Export-Excel -Now -PassThru
|
$ExcelPackage = $Processes | Export-Excel -Now -PassThru
|
||||||
$Worksheet = $ExcelPackage.Workbook.Worksheets[1]
|
$Script:Worksheet = $ExcelPackage.Workbook.Worksheets[1]
|
||||||
|
|
||||||
$ExcelPackage.File | Should BeLike ([IO.Path]::GetTempPath() + '*')
|
$ExcelPackage.File | Should BeLike ([IO.Path]::GetTempPath() + '*')
|
||||||
$Worksheet.Tables[0].Name | Should Be 'Table1'
|
$Script:Worksheet.Tables[0].Name | Should Be 'Table1'
|
||||||
$Worksheet.AutoFilterAddress | Should BeNullOrEmpty
|
$Script:Worksheet.AutoFilterAddress | Should BeNullOrEmpty}
|
||||||
$Worksheet.Column(5).Width | Should BeGreaterThan 9.5
|
it "Applies AutoSize with these".PadRight(87) {
|
||||||
}
|
$Script:Worksheet.Column(5).Width | Should BeGreaterThan 9.5
|
||||||
|
} -skip:$notwindows
|
||||||
it "Now allows override of Path and TableName".PadRight(87) {
|
it "Now allows override of Path and TableName".PadRight(87) {
|
||||||
$ExcelPackage = $Processes | Export-Excel -Now -PassThru -Path $Path -TableName:$false
|
$ExcelPackage = $Processes | Export-Excel -Now -PassThru -Path $Path -TableName:$false
|
||||||
$Worksheet = $ExcelPackage.Workbook.Worksheets[1]
|
$Script:Worksheet = $ExcelPackage.Workbook.Worksheets[1]
|
||||||
|
|
||||||
$ExcelPackage.File | Should Be $Path
|
$ExcelPackage.File | Should Be $Path
|
||||||
$Worksheet.Tables | Should BeNullOrEmpty
|
$Script:Worksheet.Tables | Should BeNullOrEmpty
|
||||||
$Worksheet.AutoFilterAddress | Should BeNullOrEmpty
|
$Script:Worksheet.AutoFilterAddress | Should BeNullOrEmpty
|
||||||
$Worksheet.Column(5).Width | Should BeGreaterThan 9.5
|
|
||||||
}
|
}
|
||||||
|
it "Allows AutoSize with the override".PadRight(87) {
|
||||||
|
$Script:Worksheet.Column(5).Width | Should BeGreaterThan 9.5
|
||||||
|
} -skip:$notwindows
|
||||||
<# Mock looks unreliable need to check
|
<# Mock looks unreliable need to check
|
||||||
Mock -CommandName 'Invoke-Item'
|
Mock -CommandName 'Invoke-Item'
|
||||||
it "Now will Show".PadRight(87) {
|
it "Now will Show".PadRight(87) {
|
||||||
@@ -1052,11 +1069,14 @@ Describe ExportExcel {
|
|||||||
}
|
}
|
||||||
it "Now allows to set TableName".PadRight(87) {
|
it "Now allows to set TableName".PadRight(87) {
|
||||||
$ExcelPackage = $Processes | Export-Excel -Now -PassThru -TableName 'Data'
|
$ExcelPackage = $Processes | Export-Excel -Now -PassThru -TableName 'Data'
|
||||||
$Worksheet = $ExcelPackage.Workbook.Worksheets[1]
|
$Script:Worksheet = $ExcelPackage.Workbook.Worksheets[1]
|
||||||
|
|
||||||
$Worksheet.Tables[0].Name | Should Be 'Data'
|
$Script:Worksheet.Tables[0].Name | Should Be 'Data'
|
||||||
$Worksheet.AutoFilterAddress | Should BeNullOrEmpty
|
$Script:Worksheet.AutoFilterAddress | Should BeNullOrEmpty
|
||||||
$Worksheet.Column(5).Width | Should BeGreaterThan 9.5
|
|
||||||
}
|
}
|
||||||
|
it "Allows to set TableName with AutoSize".PadRight(87) {
|
||||||
|
$Script:Worksheet.Column(5).Width | Should BeGreaterThan 9.5
|
||||||
|
} -skip:$notwindows
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
|
if (-not $env:TEMP) {$env:TEMP = [IO.Path]::GetTempPath() -replace "/$","" }
|
||||||
|
|
||||||
|
|
||||||
$path = "$Env:TEMP\test.xlsx"
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
remove-item -path $path -ErrorAction SilentlyContinue
|
remove-item -path $path -ErrorAction SilentlyContinue
|
||||||
ConvertFrom-Csv @"
|
ConvertFrom-Csv @"
|
||||||
Product, City, Gross, Net
|
Product, City, Gross, Net
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
$scriptPath = Split-Path -Path $MyInvocation.MyCommand.path -Parent
|
if (-not $env:TEMP) {$env:TEMP = [IO.Path]::GetTempPath() -replace "/$","" }
|
||||||
|
|
||||||
|
$scriptPath = Split-Path -Path $MyInvocation.MyCommand.path -Parent
|
||||||
$dataPath = Join-Path -Path $scriptPath -ChildPath "First10Races.csv"
|
$dataPath = Join-Path -Path $scriptPath -ChildPath "First10Races.csv"
|
||||||
|
|
||||||
Describe "Creating small named ranges with hyperlinks" {
|
Describe "Creating small named ranges with hyperlinks" {
|
||||||
BeforeAll {
|
BeforeAll {
|
||||||
$path = "$env:TEMP\Results.xlsx"
|
$path = Join-Path $Env:TEMP "results.xlsx"
|
||||||
Remove-Item -Path $path -ErrorAction SilentlyContinue
|
Remove-Item -Path $path -ErrorAction SilentlyContinue
|
||||||
#Read race results, and group by race name : export 1 row to get headers, leaving enough rows aboce to put in a link for each race
|
#Read race results, and group by race name : export 1 row to get headers, leaving enough rows aboce to put in a link for each race
|
||||||
$results = Import-Csv -Path $dataPath |
|
$results = Import-Csv -Path $dataPath |
|
||||||
|
|||||||
@@ -5,15 +5,15 @@ Import-Module $PSScriptRoot\..\ImportExcel.psd1 -Force
|
|||||||
|
|
||||||
Describe "Check if Function aliases exist" {
|
Describe "Check if Function aliases exist" {
|
||||||
|
|
||||||
It "Set-Column should exist" {
|
It "Set-Column should exist".PadRight(90) {
|
||||||
${Alias:Set-Column} | Should Not BeNullOrEmpty
|
${Alias:Set-Column} | Should Not BeNullOrEmpty
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Set-Row should exist" {
|
It "Set-Row should exist".PadRight(90) {
|
||||||
${Alias:Set-Row} | Should Not BeNullOrEmpty
|
${Alias:Set-Row} | Should Not BeNullOrEmpty
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Set-Format should exist" {
|
It "Set-Format should exist".PadRight(90) {
|
||||||
${Alias:Set-Format} | Should Not BeNullOrEmpty
|
${Alias:Set-Format} | Should Not BeNullOrEmpty
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@ Describe "Check if Function aliases exist" {
|
|||||||
Get-Command Merge-MulipleSheets | Should Not Be $null
|
Get-Command Merge-MulipleSheets | Should Not Be $null
|
||||||
}
|
}
|
||||||
#>
|
#>
|
||||||
It "New-ExcelChart should exist" {
|
It "New-ExcelChart should exist".PadRight(90) {
|
||||||
${Alias:New-ExcelChart} | Should Not BeNullOrEmpty
|
${Alias:New-ExcelChart} | Should Not BeNullOrEmpty
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
Describe "ImportExcel File List" {
|
Describe "ImportExcel File List" {
|
||||||
It "All files should exist" {
|
It "All files should exist".PadRight(90) {
|
||||||
$fileList = Get-Content "$PSScriptRoot\..\filelist.txt"
|
$fileList = Get-Content "$PSScriptRoot\..\filelist.txt"
|
||||||
|
|
||||||
foreach ($file in $fileList) {
|
foreach ($file in $fileList) {
|
||||||
|
|||||||
@@ -8,20 +8,20 @@ Describe "Tests" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Should have two items" {
|
It "Should have two items".PadRight(90) {
|
||||||
$data.count | Should be 2
|
$data.count | Should be 2
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Should have items a and b" {
|
It "Should have items a and b".PadRight(90) {
|
||||||
$data[0].p1 | Should be "a"
|
$data[0].p1 | Should be "a"
|
||||||
$data[1].p1 | Should be "b"
|
$data[1].p1 | Should be "b"
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Should read fast < 2100 milliseconds" {
|
It "Should read fast < 2100 milliseconds".PadRight(90) {
|
||||||
$timer.TotalMilliseconds | should BeLessThan 2100
|
$timer.TotalMilliseconds | should BeLessThan 2100
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Should read larger xlsx, 4k rows 1 col < 3000 milliseconds" {
|
It "Should read larger xlsx, 4k rows 1 col < 3000 milliseconds".PadRight(90) {
|
||||||
$timer = Measure-Command {
|
$timer = Measure-Command {
|
||||||
$null = Import-Excel $PSScriptRoot\LargerFile.xlsx
|
$null = Import-Excel $PSScriptRoot\LargerFile.xlsx
|
||||||
}
|
}
|
||||||
@@ -29,7 +29,7 @@ Describe "Tests" {
|
|||||||
$timer.TotalMilliseconds | should BeLessThan 3000
|
$timer.TotalMilliseconds | should BeLessThan 3000
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Should be able to open, read and close as seperate actions" {
|
It "Should be able to open, read and close as seperate actions".PadRight(90) {
|
||||||
$timer = Measure-Command {
|
$timer = Measure-Command {
|
||||||
$excel = Open-ExcelPackage $PSScriptRoot\Simple.xlsx
|
$excel = Open-ExcelPackage $PSScriptRoot\Simple.xlsx
|
||||||
$data = Import-Excel -ExcelPackage $excel
|
$data = Import-Excel -ExcelPackage $excel
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
|
if (-not $env:TEMP) {$env:TEMP = [IO.Path]::GetTempPath() -replace "/$","" }
|
||||||
|
|
||||||
Describe "Exporting with -Inputobject" {
|
Describe "Exporting with -Inputobject" {
|
||||||
BeforeAll {
|
BeforeAll {
|
||||||
$path = "$env:TEMP\Results.xlsx"
|
$path = Join-Path $Env:TEMP "results.xlsx"
|
||||||
Remove-Item -Path $path -ErrorAction SilentlyContinue
|
Remove-Item -Path $path -ErrorAction SilentlyContinue
|
||||||
#Read race results, and group by race name : export 1 row to get headers, leaving enough rows aboce to put in a link for each race
|
#Read race results, and group by race name : export 1 row to get headers, leaving enough rows aboce to put in a link for each race
|
||||||
$results = ((Get-Process) + (Get-Process -id $PID)) | Select-Object -last 10 -Property Name, cpu, pm, handles, StartTime
|
$results = ((Get-Process) + (Get-Process -id $PID)) | Select-Object -last 10 -Property Name, cpu, pm, handles, StartTime
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
$data1 = ConvertFrom-Csv -InputObject @"
|
if (-not $env:TEMP) {$env:TEMP = [IO.Path]::GetTempPath() -replace "/$","" }
|
||||||
|
$notWindows = ($PSVersionTable.os -and $PSVersionTable.os -notMatch 'Windows' )
|
||||||
|
|
||||||
|
$data1 = ConvertFrom-Csv -InputObject @"
|
||||||
ID,Product,Quantity,Price,Total
|
ID,Product,Quantity,Price,Total
|
||||||
12001,Nails,37,3.99,147.63
|
12001,Nails,37,3.99,147.63
|
||||||
12002,Hammer,5,12.10,60.5
|
12002,Hammer,5,12.10,60.5
|
||||||
@@ -24,7 +27,7 @@ ID,Product,Quantity,Price,Total
|
|||||||
|
|
||||||
Describe "Join Worksheet part 1" {
|
Describe "Join Worksheet part 1" {
|
||||||
BeforeAll {
|
BeforeAll {
|
||||||
$path = "$Env:TEMP\test.xlsx"
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
Remove-Item -Path $path -ErrorAction SilentlyContinue
|
Remove-Item -Path $path -ErrorAction SilentlyContinue
|
||||||
$data1 | Export-Excel -Path $path -WorkSheetname Oxford
|
$data1 | Export-Excel -Path $path -WorkSheetname Oxford
|
||||||
$data2 | Export-Excel -Path $path -WorkSheetname Abingdon
|
$data2 | Export-Excel -Path $path -WorkSheetname Abingdon
|
||||||
@@ -89,10 +92,11 @@ Describe "Join Worksheet part 1" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$path = "$env:TEMP\Test.xlsx"
|
$path = Join-Path $Env:TEMP "Test.xlsx"
|
||||||
Remove-item -Path $path -ErrorAction SilentlyContinue
|
Remove-item -Path $path -ErrorAction SilentlyContinue
|
||||||
#switched to CIM objects so test runs on V6
|
#switched to CIM objects so test runs on V6
|
||||||
Describe "Join Worksheet part 2" {
|
Describe "Join Worksheet part 2" {
|
||||||
|
if ($notWindows) {Write-warning -message "Test only runs on Windows" ; return}
|
||||||
Get-CimInstance -ClassName win32_logicaldisk |
|
Get-CimInstance -ClassName win32_logicaldisk |
|
||||||
Select-Object -Property DeviceId,VolumeName, Size,Freespace |
|
Select-Object -Property DeviceId,VolumeName, Size,Freespace |
|
||||||
Export-Excel -Path $path -WorkSheetname Volumes -NumberFormat "0,000"
|
Export-Excel -Path $path -WorkSheetname Volumes -NumberFormat "0,000"
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
if ($PSVersionTable.PSVersion.Major -GT 5) {
|
|
||||||
Write-Warning "Can't test passwords on V6 and later"
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
Describe "Password Support" {
|
Describe "Password Support" {
|
||||||
|
if ($PSVersionTable.PSVersion.Major -GT 5) {
|
||||||
|
Write-Warning "Can't test passwords on V6 and later"
|
||||||
|
return
|
||||||
|
}
|
||||||
Context "Password protected sheet" {
|
Context "Password protected sheet" {
|
||||||
BeforeAll {
|
BeforeAll {
|
||||||
$password = "YouMustRememberThis"
|
$password = "YouMustRememberThis"
|
||||||
|
|||||||
@@ -1,38 +1,38 @@
|
|||||||
Describe "Test reading relative paths" {
|
Describe "Test reading relative paths" {
|
||||||
BeforeAll {
|
BeforeAll {
|
||||||
$script:xlfileName = "TestR.xlsx"
|
$script:xlfileName = "TestR.xlsx"
|
||||||
@{data = 1 } | Export-Excel "$pwd\TestR.xlsx"
|
@{data = 1 } | Export-Excel (Join-Path $PWD "TestR.xlsx")
|
||||||
}
|
}
|
||||||
|
|
||||||
AfterAll {
|
AfterAll {
|
||||||
Remove-Item "$pwd\$($script:xlfileName)"
|
Remove-Item (Join-Path $PWD "$($script:xlfileName)")
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Should read local file" {
|
It "Should read local file".PadRight(90) {
|
||||||
$actual = Import-Excel -Path ".\$($script:xlfileName)"
|
$actual = Import-Excel -Path ".\$($script:xlfileName)"
|
||||||
$actual | Should Not Be $null
|
$actual | Should Not Be $null
|
||||||
$actual.Count | Should Be 1
|
$actual.Count | Should Be 1
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Should read with pwd" {
|
It "Should read with pwd".PadRight(90){
|
||||||
$actual = Import-Excel -Path "$pwd\$($script:xlfileName)"
|
$actual = Import-Excel -Path (Join-Path $PWD "$($script:xlfileName)")
|
||||||
$actual | Should Not Be $null
|
$actual | Should Not Be $null
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Should read with just a file name and resolve to cwd" {
|
It "Should read with just a file name and resolve to cwd".PadRight(90){
|
||||||
$actual = Import-Excel -Path "$($script:xlfileName)"
|
$actual = Import-Excel -Path "$($script:xlfileName)"
|
||||||
$actual | Should Not Be $null
|
$actual | Should Not Be $null
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Should fail for not found" {
|
It "Should fail for not found".PadRight(90){
|
||||||
{ Import-Excel -Path "ExcelFileDoesNotExist.xlsx" } | Should Throw "'ExcelFileDoesNotExist.xlsx' file not found"
|
{ Import-Excel -Path "ExcelFileDoesNotExist.xlsx" } | Should Throw "'ExcelFileDoesNotExist.xlsx' file not found"
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Should fail for xls extension" {
|
It "Should fail for xls extension".PadRight(90){
|
||||||
{ Import-Excel -Path "ExcelFileDoesNotExist.xls" } | Should Throw "Import-Excel does not support reading this extension type .xls"
|
{ Import-Excel -Path "ExcelFileDoesNotExist.xls" } | Should Throw "Import-Excel does not support reading this extension type .xls"
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Should fail for xlsxs extension" {
|
It "Should fail for xlsxs extension".PadRight(90){
|
||||||
{ Import-Excel -Path "ExcelFileDoesNotExist.xlsxs" } | Should Throw "Import-Excel does not support reading this extension type .xlsxs"
|
{ Import-Excel -Path "ExcelFileDoesNotExist.xlsxs" } | Should Throw "Import-Excel does not support reading this extension type .xlsxs"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,6 @@
|
|||||||
$path = "$Env:TEMP\test.xlsx"
|
if (-not $env:TEMP) {$env:TEMP = [IO.Path]::GetTempPath() -replace "/$","" }
|
||||||
|
|
||||||
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
Remove-Item -path $path -ErrorAction SilentlyContinue
|
Remove-Item -path $path -ErrorAction SilentlyContinue
|
||||||
$excel = ConvertFrom-Csv @"
|
$excel = ConvertFrom-Csv @"
|
||||||
Product, City, Gross, Net
|
Product, City, Gross, Net
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
$path = "$env:temp\test.xlsx"
|
|
||||||
|
if (-not $env:TEMP) {$env:TEMP = [IO.Path]::GetTempPath() -replace "/$","" }
|
||||||
|
$notWindows = ($PSVersionTable.os -and $PSVersionTable.os -notMatch 'Windows' )
|
||||||
|
|
||||||
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
describe "Consistent passing of ranges." {
|
describe "Consistent passing of ranges." {
|
||||||
|
if ($notWindows) {Write-warning -message "Test uses get-service so only works on Windows" ; return}
|
||||||
Context "Conditional Formatting" {
|
Context "Conditional Formatting" {
|
||||||
Remove-Item -path $path -ErrorAction SilentlyContinue
|
Remove-Item -path $path -ErrorAction SilentlyContinue
|
||||||
$excel = Get-Service | Export-Excel -Path $path -WorksheetName Services -PassThru -AutoSize -DisplayPropertySet -AutoNameRange -Title "Services on $Env:COMPUTERNAME"
|
$excel = Get-Service | Export-Excel -Path $path -WorksheetName Services -PassThru -AutoSize -DisplayPropertySet -AutoNameRange -Title "Services on $Env:COMPUTERNAME"
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
#Requires -Modules Pester
|
#Requires -Modules Pester
|
||||||
Import-Module $PSScriptRoot\..\ImportExcel.psd1 -Force
|
Import-Module $PSScriptRoot\..\ImportExcel.psd1 -Force
|
||||||
|
if (-not $env:TEMP) {$env:TEMP = [IO.Path]::GetTempPath() -replace "/$","" }
|
||||||
|
|
||||||
Describe "Remove Worksheet" {
|
Describe "Remove Worksheet" {
|
||||||
Context "Remove a worksheet output" {
|
Context "Remove a worksheet output" {
|
||||||
@@ -10,7 +11,7 @@ Name,Age
|
|||||||
Jane,10
|
Jane,10
|
||||||
John,20
|
John,20
|
||||||
"@
|
"@
|
||||||
$xlFile1 = "$env:TEMP\RemoveWorsheet1.xlsx"
|
$xlFile1 = Join-Path $Env:TEMP "removeWorsheet1.xlsx"
|
||||||
Remove-Item $xlFile1 -ErrorAction SilentlyContinue
|
Remove-Item $xlFile1 -ErrorAction SilentlyContinue
|
||||||
|
|
||||||
$data | Export-Excel -Path $xlFile1 -WorksheetName Target1
|
$data | Export-Excel -Path $xlFile1 -WorksheetName Target1
|
||||||
@@ -18,7 +19,7 @@ John,20
|
|||||||
$data | Export-Excel -Path $xlFile1 -WorksheetName Target3
|
$data | Export-Excel -Path $xlFile1 -WorksheetName Target3
|
||||||
$data | Export-Excel -Path $xlFile1 -WorksheetName Sheet1
|
$data | Export-Excel -Path $xlFile1 -WorksheetName Sheet1
|
||||||
|
|
||||||
$xlFile2 = "$env:TEMP\RemoveWorsheet2.xlsx"
|
$xlFile2 = Join-Path $Env:TEMP "removeWorsheet2.xlsx"
|
||||||
Remove-Item $xlFile2 -ErrorAction SilentlyContinue
|
Remove-Item $xlFile2 -ErrorAction SilentlyContinue
|
||||||
|
|
||||||
$data | Export-Excel -Path $xlFile2 -WorksheetName Target1
|
$data | Export-Excel -Path $xlFile2 -WorksheetName Target1
|
||||||
@@ -27,11 +28,11 @@ John,20
|
|||||||
$data | Export-Excel -Path $xlFile2 -WorksheetName Sheet1
|
$data | Export-Excel -Path $xlFile2 -WorksheetName Sheet1
|
||||||
}
|
}
|
||||||
|
|
||||||
it "Should throw about the Path" {
|
it "Should throw about the Path".PadRight(87) {
|
||||||
{Remove-WorkSheet} | Should throw 'Remove-WorkSheet requires the and Excel file'
|
{Remove-WorkSheet} | Should throw 'Remove-WorkSheet requires the and Excel file'
|
||||||
}
|
}
|
||||||
|
|
||||||
it "Should delete Target2" {
|
it "Should delete Target2".PadRight(87) {
|
||||||
Remove-WorkSheet -Path $xlFile1 -WorksheetName Target2
|
Remove-WorkSheet -Path $xlFile1 -WorksheetName Target2
|
||||||
|
|
||||||
$actual = Get-ExcelSheetInfo -Path $xlFile1
|
$actual = Get-ExcelSheetInfo -Path $xlFile1
|
||||||
@@ -42,7 +43,7 @@ John,20
|
|||||||
$actual[2].Name | Should Be "Sheet1"
|
$actual[2].Name | Should Be "Sheet1"
|
||||||
}
|
}
|
||||||
|
|
||||||
it "Should delete Sheet1" {
|
it "Should delete Sheet1".PadRight(87) {
|
||||||
Remove-WorkSheet -Path $xlFile1
|
Remove-WorkSheet -Path $xlFile1
|
||||||
|
|
||||||
$actual = Get-ExcelSheetInfo -Path $xlFile1
|
$actual = Get-ExcelSheetInfo -Path $xlFile1
|
||||||
@@ -53,7 +54,7 @@ John,20
|
|||||||
$actual[2].Name | Should Be "Target3"
|
$actual[2].Name | Should Be "Target3"
|
||||||
}
|
}
|
||||||
|
|
||||||
it "Should delete multiple sheets" {
|
it "Should delete multiple sheets".PadRight(87) {
|
||||||
Remove-WorkSheet -Path $xlFile1 -WorksheetName Target1, Sheet1
|
Remove-WorkSheet -Path $xlFile1 -WorksheetName Target1, Sheet1
|
||||||
|
|
||||||
$actual = Get-ExcelSheetInfo -Path $xlFile1
|
$actual = Get-ExcelSheetInfo -Path $xlFile1
|
||||||
@@ -63,9 +64,9 @@ John,20
|
|||||||
$actual[1].Name | Should Be "Target3"
|
$actual[1].Name | Should Be "Target3"
|
||||||
}
|
}
|
||||||
|
|
||||||
it "Should delete sheet from multiple workbooks" {
|
it "Should delete sheet from multiple workbooks".PadRight(87) {
|
||||||
|
|
||||||
Get-ChildItem "$env:TEMP\RemoveWorsheet*.xlsx" | Remove-WorkSheet
|
Get-ChildItem (Join-Path $Env:TEMP "removeWorsheet*.xlsx") | Remove-WorkSheet
|
||||||
|
|
||||||
$actual = Get-ExcelSheetInfo -Path $xlFile1
|
$actual = Get-ExcelSheetInfo -Path $xlFile1
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
|
Import-Module $PSScriptRoot\..\ImportExcel.psd1 -Force
|
||||||
$path = "$Env:TEMP\test.xlsx"
|
if (-not $env:TEMP) {$env:TEMP = [IO.Path]::GetTempPath() -replace "/$","" }
|
||||||
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
|
|
||||||
$data = ConvertFrom-Csv -InputObject @"
|
$data = ConvertFrom-Csv -InputObject @"
|
||||||
ID,Product,Quantity,Price
|
ID,Product,Quantity,Price
|
||||||
@@ -299,7 +300,7 @@ Describe "Conditional Formatting" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
$path = "$Env:TEMP\test.xlsx"
|
$path = Join-Path $Env:TEMP "test.xlsx"
|
||||||
$data2 = ConvertFrom-Csv -InputObject @"
|
$data2 = ConvertFrom-Csv -InputObject @"
|
||||||
ID,Product,Quantity,Price,Total
|
ID,Product,Quantity,Price,Total
|
||||||
12001,Nails,37,3.99,147.63
|
12001,Nails,37,3.99,147.63
|
||||||
@@ -320,7 +321,7 @@ ID,Product,Quantity,Price,Total
|
|||||||
|
|
||||||
Describe "AutoNameRange data with a single property name" {
|
Describe "AutoNameRange data with a single property name" {
|
||||||
BeforeEach {
|
BeforeEach {
|
||||||
$xlfile = "$Env:TEMP\testNamedRange.xlsx"
|
$xlfile = Join-Path $Env:TEMP "testNamedRange.xlsx"
|
||||||
Remove-Item $xlfile -ErrorAction SilentlyContinue
|
Remove-Item $xlfile -ErrorAction SilentlyContinue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
Import-Module $PSScriptRoot\..\ImportExcel.psd1 -Force
|
||||||
|
if (-not $env:TEMP) {$env:TEMP = [IO.Path]::GetTempPath() -replace "/$","" }
|
||||||
|
$notWindows = ($PSVersionTable.os -and $PSVersionTable.os -notMatch 'Windows' )
|
||||||
|
|
||||||
$data = ConvertFrom-Csv -InputObject @"
|
$data = ConvertFrom-Csv -InputObject @"
|
||||||
ID,Product,Quantity,Price
|
ID,Product,Quantity,Price
|
||||||
12001,Nails,37,3.99
|
12001,Nails,37,3.99
|
||||||
@@ -7,7 +11,7 @@ ID,Product,Quantity,Price
|
|||||||
12011,Crowbar,7,23.48
|
12011,Crowbar,7,23.48
|
||||||
"@
|
"@
|
||||||
|
|
||||||
$path = "$Env:TEMP\DataValidation.xlsx"
|
$path = Join-Path $Env:TEMP "DataValidation.xlsx"
|
||||||
|
|
||||||
Describe "Data validation and protection" {
|
Describe "Data validation and protection" {
|
||||||
Context "Data Validation rules" {
|
Context "Data Validation rules" {
|
||||||
|
|||||||
Reference in New Issue
Block a user