Merge remote-tracking branch 'upstream/master'

This commit is contained in:
jhoneill
2018-07-12 16:49:49 +01:00
60 changed files with 354 additions and 232 deletions

View File

@@ -24,3 +24,4 @@ pwd
Nuget
EPPLus
intellisense
PivtoTableName

View File

@@ -1,3 +1,4 @@
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
ConvertFrom-ExcelToSQLInsert People .\testSQLGen.xlsx

View File

@@ -1,4 +1,4 @@
Import-Module ..\..\ImportExcel.psd1 -Force
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
$f = ".\dashboard.xlsx"
Remove-Item $f -ErrorAction Ignore

View File

@@ -1,5 +1,4 @@
Import-Module ..\..\ImportExcel.psd1 -Force
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
ConvertFrom-ExcelToSQLInsert -TableName "Movies" -Path ".\Movies.xlsx" -ConvertEmptyStringsToNull
''

View File

@@ -1,7 +1,9 @@
param ($fibonacciDigits=10)
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
$file = "fib.xlsx"
rm "fib.xlsx" -ErrorAction Ignore
Remove-Item "fib.xlsx" -ErrorAction Ignore
$(
New-PSItem 0
@@ -9,7 +11,7 @@ $(
(
2..$fibonacciDigits |
ForEach {
ForEach-Object {
New-PSItem ('=a{0}+a{1}' -f ($_+1),$_)
}
)

Binary file not shown.

View File

@@ -1,3 +1,7 @@
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
$xlfile = "$env:temp\testFmt.xlsx"
Get-Process |
Select-Object Company,Handles,PM, NPM|
Export-Excel $xlfile -Show -AutoSize -CellStyleSB {

View File

@@ -1,3 +1,8 @@
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
$xlfile = "$env:temp\testFmt.xlsx"
Remove-Item $xlfile -ErrorAction Ignore
$RandomStyle = {
param(
$workSheet,

View File

@@ -1,7 +1,8 @@
#$(
# New-PSItem 'Every Man a King' http://orisonswettmarden.wwwhubs.com/ccount/click.php?id=2
# New-PSItem 'Be Good to Yourself' http://orisonswettmarden.wwwhubs.com/ccount/click.php?id=3
# New-PSItem 'Character : The Grandest Thing in the World' http://orisonswettmarden.wwwhubs.com/ccount/click.php?id=4
# New-PSItem 'The Conquest of Worry' http://orisonswettmarden.wwwhubs.com/ccount/click.php?id=5
# New-PSItem 'Success Nuggets' http://orisonswettmarden.wwwhubs.com/ccount/click.php?id=6
#) | Export-Excel hyperlinks.xlsx -Show -AutoSize
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
@"
site,link
google,http://www.google.com
stackoverflow,http://stackoverflow.com
microsoft,http://microsoft.com
"@ | ConvertFrom-Csv | Export-Excel

View File

@@ -1,2 +1,4 @@
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
Import-Html "http://en.wikipedia.org/wiki/Demographics_of_India" 4

View File

@@ -1 +1,3 @@
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
Import-Html "http://www.science.co.il/PTelements.asp" 1

View File

@@ -1 +1,3 @@
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
Import-Html "https://en.wikipedia.org/wiki/List_of_Star_Trek:_The_Original_Series_episodes" 2

View File

@@ -0,0 +1,6 @@
"Region","Item","UnitSold","UnitCost"
"East","Banana","38","0.26"
"East","Kale","71","0.69"
"East","Apple","35","0.55"
"East","Potato","48","0.48"
"East","Kale","41","0.74"
1 Region Item UnitSold UnitCost
2 East Banana 38 0.26
3 East Kale 71 0.69
4 East Apple 35 0.55
5 East Potato 48 0.48
6 East Kale 41 0.74

View File

@@ -0,0 +1,22 @@
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
$xlfile = "$env:temp\AllSales.xlsx"
Remove-Item $xlfile -ErrorAction Ignore
$params = @{
AutoSize = $true
AutoFilter = $true
AutoNameRange = $true
ExcelChartDefinition = New-ExcelChartDefinition -XRange Item -YRange UnitSold -Title 'Units Sold'
Path = $xlfile
}
Import-Csv $PSScriptRoot\NorthSales.csv | Export-Excel -WorkSheetname North @params
Import-Csv $PSScriptRoot\EastSales.csv | Export-Excel -WorkSheetname East @params
Import-Csv $PSScriptRoot\SouthSales.csv | Export-Excel -WorkSheetname South @params
Import-Csv $PSScriptRoot\WestSales.csv | Export-Excel -WorkSheetname West @params
$params.Remove("AutoNameRange")
$params.Remove("ExcelChartDefinition")
Join-Worksheet -WorkSheetName AllSales -Show @params

View File

@@ -0,0 +1,5 @@
"Region","Item","UnitSold","UnitCost"
"North","Apple","40","0.68"
"North","Kale","55","0.35"
"North","Banana","33","0.31"
"North","Pear","29","0.74"
1 Region Item UnitSold UnitCost
2 North Apple 40 0.68
3 North Kale 55 0.35
4 North Banana 33 0.31
5 North Pear 29 0.74

View File

@@ -0,0 +1,6 @@
"Region","Item","UnitSold","UnitCost"
"South","Banana","54","0.46"
"South","Pear","39","0.44"
"South","Potato","33","0.46"
"South","Banana","49","0.31"
"South","Apple","38","0.59"
1 Region Item UnitSold UnitCost
2 South Banana 54 0.46
3 South Pear 39 0.44
4 South Potato 33 0.46
5 South Banana 49 0.31
6 South Apple 38 0.59

View File

@@ -0,0 +1,12 @@
"Region","Item","UnitSold","UnitCost"
"West","Banana","74","0.56"
"West","Apple","26","0.7"
"West","Banana","59","0.49"
"West","Potato","56","0.62"
"West","Banana","60","0.64"
"West","Pear","32","0.29"
"West","Apple","73","0.26"
"West","Banana","49","0.59"
"West","Pear","65","0.35"
"West","Apple","60","0.34"
"West","Kale","67","0.38"
1 Region Item UnitSold UnitCost
2 West Banana 74 0.56
3 West Apple 26 0.7
4 West Banana 59 0.49
5 West Potato 56 0.62
6 West Banana 60 0.64
7 West Pear 32 0.29
8 West Apple 73 0.26
9 West Banana 49 0.59
10 West Pear 65 0.35
11 West Apple 60 0.34
12 West Kale 67 0.38

View File

@@ -1,4 +1,6 @@
ColumnChart -Title "Central Limit Theorem" -NoLegend ($(
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
ColumnChart -Title "Central Limit Theorem" -NoLegend ($(
for ($i = 1; $i -le 500; $i++) {
$s = 0
for ($j = 1; $j -le 100; $j++) {

View File

@@ -2,5 +2,7 @@
# Sum up handles by company
# Show the Pie Chart
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
PieChart -Title "Total Handles by Company" `
(Invoke-Sum (Get-Process|Where company) company handles)
(Invoke-Sum (Get-Process | Where-Object company) company handles)

View File

@@ -2,6 +2,8 @@
# Sum up PM by company
# Show the Pie Chart
PieChart -Title "Total PM by Company" `
(Invoke-Sum (Get-Process|Where company) company pm)
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
PieChart -Title "Total PM by Company" `
(Invoke-Sum (Get-Process|Where-Object company) company pm)

View File

@@ -1 +1,3 @@
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
BarChart (.\TargetData.ps1) "A BarChart"

View File

@@ -1 +1,3 @@
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
ColumnChart (.\TargetData.ps1) "A ColumnChart"

View File

@@ -1 +1,3 @@
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
PieChart (.\TargetData.ps1) "A PieChart"

View File

@@ -1,3 +1,5 @@
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
$header = echo `
'Date/Time - Peak Brightness (UT)' `
'Latitude (Deg)' `

View File

@@ -1,6 +1,8 @@
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
$file = "disks.xlsx"
rm $file -ErrorAction Ignore
Remove-Item $file -ErrorAction Ignore
$data = $(
New-PSItem 100 -100

View File

@@ -1,6 +1,8 @@
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
$file = "disks.xlsx"
rm $file -ErrorAction Ignore
Remove-Item $file -ErrorAction Ignore
$data = $(
New-PSItem 100 -100

View File

@@ -1,6 +1,8 @@
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
$file = "disks.xlsx"
rm $file -ErrorAction Ignore
Remove-Item $file -ErrorAction Ignore
$data = $(
New-PSItem 1

View File

@@ -1,6 +1,8 @@
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
$file = "disks.xlsx"
rm $file -ErrorAction Ignore
Remove-Item $file -ErrorAction Ignore
$data = $(
New-PSItem 100 -100

View File

@@ -1,7 +1,9 @@
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
$file = "disks.xlsx"
rm $file -ErrorAction Ignore
Remove-Item $file -ErrorAction Ignore
Get-CimInstance win32_logicaldisk -filter "drivetype=3" |
Select DeviceID,Volumename,Size,Freespace |
Select-Object DeviceID,Volumename,Size,Freespace |
Export-Excel -Path $file -Show -AutoSize -NumberFormat "0"

View File

@@ -1,7 +1,9 @@
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
$file = "disks.xlsx"
rm $file -ErrorAction Ignore
Remove-Item $file -ErrorAction Ignore
Get-CimInstance win32_logicaldisk -filter "drivetype=3" |
Select DeviceID,Volumename,Size,Freespace |
Select-Object DeviceID,Volumename,Size,Freespace |
Export-Excel -Path $file -Show -AutoSize

Binary file not shown.

View File

@@ -1,6 +1,8 @@
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
$file = "sales.xlsx"
rm $file -ErrorAction Ignore
Remove-Item $file -ErrorAction Ignore
$xlPkg = Import-Csv .\sales.csv | Export-Excel $file -PassThru
@@ -10,7 +12,7 @@ $ws.Cells["E1"].Value = "TotalSold"
$ws.Cells["F1"].Value = "Add 10%"
2..($ws.Dimension.Rows) |
ForEach {
ForEach-Object {
$ws.Cells["E$_"].Formula = "=C$_+D$_"
$ws.Cells["F$_"].Formula = "=E$_+(10%*(C$_+D$_))"
}

Binary file not shown.

View File

@@ -1,4 +1,4 @@
Import-Module ..\..\ImportExcel.psd1 -Force
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
Remove-Item .\test1.xlsx -ErrorAction Ignore

Binary file not shown.

Binary file not shown.

View File

@@ -1,4 +1,4 @@
Import-Module ..\..\ImportExcel.psd1 -Force
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
$xlFile=".\testPivot.xlsx"
Remove-Item $xlFile -ErrorAction Ignore

View File

@@ -1,3 +1,5 @@
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
$plt = New-Plot
$plt.Plot((Get-Range 0 5 .02|%{[math]::Cos(2*[math]::pi*$_)}))
$plt.SetChartSize(800,300)

View File

@@ -1,4 +1,4 @@
 Import-Module -name ImportExcel -Force -Verbose
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
$sql = @"
SELECT rootfile.baseName , rootfile.extension , Image.fileWidth AS width , image.fileHeight AS height ,
@@ -14,7 +14,7 @@ $sql = @"
LEFT JOIN AgInternedExifLens LensRef ON LensRef.id_Local = metadata.lensRef
LEFT JOIN AgInternedExifCameraModel Camera ON Camera.id_local = metadata.cameraModelRef
"@
``
#Sql Statement gets 20 columns of data from Adobe lightroom database
#Define a pivot table and chart for total pictures with each lens.

View File

@@ -1,8 +1,8 @@
ipmo C:\Users\mcp\Documents\GitHub\ImportExcel\ImportExcel.psd1 -Force
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
Get-SQL -Session f1 -Excel -Connection C:\Users\mcp\OneDrive\Public\F1\f1Results.xlsx -showtables -Verbose
del .\demo3.xlsx
Remove-Item .\demo3.xlsx
$session = $DbSessions["f1"]
$SQL = "SELECT top 25 DriverName, Count(RaceDate) as Races ,

View File

@@ -1,9 +1,10 @@

$p = ps | select Company, Handles | Export-Excel c:\temp\testBackgroundColor.xlsx -ClearSheet -KillExcel -PassThru
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
$p = Get-Process | Select-Object Company, Handles | Export-Excel c:\temp\testBackgroundColor.xlsx -ClearSheet -KillExcel -PassThru
$ws = $p.Workbook.WorkSheets[1]
$totalRows = $ws.Dimension.Rows
Set-Format -Address $ws.Cells["B2:B$($totalRows)"] -BackgroundColor LightBlue
Export-Excel -ExcelPackage $p -show
Export-Excel -ExcelPackage $p -show -AutoSize

View File

@@ -1,6 +1,9 @@
. ..\New-PSItem.ps1
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
rm *.xlsx
#. ..\New-PSItem.ps1
Remove-Item *.xlsx
$(
New-PSItem 12001 Nails 37 3.99 =C2*D2 (echo ID Product Quantity Price Total)

View File

@@ -1,3 +1,5 @@
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
Remove-Item .\testFormula.xlsx -ErrorAction Ignore
@"

View File

@@ -1,6 +1,6 @@
. ..\New-PSItem.ps1
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
rm *.xlsx
Remove-Item *.xlsx
$(
New-PSItem =2%/12 60 500000 "=pmt(rate,nper,pv)" (echo rate nper pv pmt)

View File

@@ -1,4 +1,6 @@
rm *.xlsx
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
Remove-Item *.xlsx
$(
New-PSItem '=Hyperlink("http://dougfinke.com/blog","Doug Finke")' @("Link")

Binary file not shown.

View File

@@ -1,3 +1,7 @@
<#
Revisit I think yahoo deprecated their service
#>
function Get-StockInfo {
param(
$stock,
@@ -7,15 +11,15 @@ function Get-StockInfo {
Process {
if(!$endDate) { $endDate = $startDate}
if (!$endDate) { $endDate = $startDate}
$baseUrl = "http://query.yahooapis.com/v1/public/yql?q="
$q = @"
$baseUrl = "http://query.yahooapis.com/v1/public/yql?q="
$q = @"
select * from yahoo.finance.historicaldata where symbol = "$($stock)" and startDate = "$($startDate.ToString('yyyy-MM-dd'))" and endDate = "$($endDate.ToString('yyyy-MM-dd'))"
"@
$suffix = "&env=store://datatables.org/alltableswithkeys&format=json"
$r=Invoke-RestMethod ($baseUrl + $q + $suffix)
$r.query.results.quote
$suffix = "&env=store://datatables.org/alltableswithkeys&format=json"
$r = Invoke-RestMethod ($baseUrl + $q + $suffix)
$r.query.results.quote
}
}

View File

@@ -1,14 +1,20 @@
$Symbol = "MSFT"
<#
Revisit I think yahoo deprecated their service
#>
. .\Get-StockInfo.ps1
# try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
rm *.xlsx
# $Symbol = "MSFT"
$chart = New-ExcelChart -XRange Date -YRange Volume `
-ChartType ColumnStacked `
-Column 9 -Title "$Symbol Volume"
# . .\Get-StockInfo.ps1
Get-StockInfo $Symbol 11/2 11/30 |
Export-Excel .\stocks.xlsx -Show `
-AutoSize -AutoNameRange `
-ExcelChartDefinition $chart
# Remove-Item *.xlsx -ErrorAction Ignore
# $chart = New-ExcelChart -XRange Date -YRange Volume `
# -ChartType ColumnStacked `
# -Column 9 -Title "$Symbol Volume"
# Get-StockInfo $Symbol 11/2 11/30 |
# Export-Excel .\stocks.xlsx -Show `
# -AutoSize -AutoNameRange `
# -ExcelChartDefinition $chart

BIN
Examples/Stocks/stocks.xlsx Normal file

Binary file not shown.

View File

@@ -1,38 +1,40 @@
$xlfile = "testData.xlsx"
rm *.xlsx
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
$r = dir C:\WINDOWS\system32
$xlfile = "testData.xlsx"
Remove-Item *.xlsx
$r = Get-ChildItem C:\WINDOWS\system32
$BySize=@{}
$r | ForEach{ $BySize.($_.extension)+=$_.length }
$r | ForEach-Object{ $BySize.($_.extension)+=$_.length }
$top10BySize = $BySize.GetEnumerator() |
ForEach{ [PSCustomObject]@{Name=$_.key;Size=[double]$_.value} } |
Sort size -Descending |
Select -First 10
ForEach-Object{ [PSCustomObject]@{Name=$_.key;Size=[double]$_.value} } |
Sort-Object size -Descending |
Select-Object -First 10
$top10ByCount = $r.extension |
Group |
Sort count -Descending |
Select -First 10 Name, count
Group-Object |
Sort-Object count -Descending |
Select-Object -First 10 Name, count
$top10ByFileSize = $r |
Sort length -Descending |
Select -First 10 Name, @{n="Size";e={$_.Length}} #,Extension,Path
Sort-Object length -Descending |
Select-Object -First 10 Name, @{n="Size";e={$_.Length}} #,Extension,Path
$top10BySize | Export-Excel $xlfile -WorkSheetname FileInfo -TableName ExtSize
$top10ByCount | Export-Excel $xlfile -WorkSheetname FileInfo -StartRow 13 -TableName ExtCount
$top10ByFileSize | Export-Excel $xlfile -WorkSheetname FileInfo -StartRow 25 -AutoSize -TableName FileSize
$ps = ps | ? Company
$ps = Get-Process | Where-Object Company
$ps |
sort handles -Descending |
select -First 10 company, handles |
Sort-Object handles -Descending |
Select-Object -First 10 company, handles |
Export-Excel $xlfile -WorkSheetname Handles -AutoSize -TableName Handles
$ps |
sort PM -Descending |
select -First 10 company, PM |
Sort-Object PM -Descending |
Select-Object -First 10 company, PM |
Export-Excel $xlfile -WorkSheetname Handles -AutoSize -TableName PM -StartRow 13 -Show

Binary file not shown.

View File

@@ -1,10 +1,11 @@
ipmo .\ImportExcel.psd1 -Force
try {. $PSScriptRoot\..\..\LoadPSD1.ps1} catch {}
. .\ConvertExcelToImageFile.ps1
$xlFileName = "C:\Temp\testPNG.xlsx"
rm C:\Temp\testPNG.xlsx -ErrorAction Ignore
Remove-Item C:\Temp\testPNG.xlsx -ErrorAction Ignore
$range = @"
Region,Item,Cost

View File

@@ -4,7 +4,7 @@
RootModule = 'ImportExcel.psm1'
# Version number of this module.
ModuleVersion = '5.0.1'
ModuleVersion = '5.1.0'
# ID used to uniquely identify this module
GUID = '60dd4136-feff-401a-ba27-a84458c57ede'

View File

@@ -44,6 +44,7 @@ Begin {
'Import-Html.ps1',
'InferData.ps1',
'Invoke-Sum.ps1',
'Join-Worksheet.ps1',
'Merge-Worksheet.ps1',
'New-ConditionalFormattingIconSet.ps1',
'New-ConditionalText.ps1',

View File

@@ -162,20 +162,18 @@
$diffpart = @()
$refpart = @()
foreach ($p in $proplist.Where({$key -ne $_}) ) {$refPart += $p ; $diffPart += "$DiffPrefix $p" }
#Last reference column will be A if there the only one property (which might be the key), B if there are two properties, C if there are 3 etc
$lastRefCol = [char](64 + $propList.count)
#First difference column will be the next one (we'll trap the case of only having the key later)
$FirstDiffCol = [char](65 + $propList.count)
$lastRefColNo = $proplist.count
$FirstDiffColNo = $lastRefColNo + 1
if ($key -ne '*') {
$outputProps = @($key) + $refpart + $diffpart
$outputProps = @($key) + $refpart + $diffpart
#If we are using a single column as the key, don't duplicate it, so the last difference column will be A if there is one property, C if there are two, E if there are 3
$lastDiffCol = [char](63 + 2 * $propList.count)
$lastDiffColNo = (2 * $proplist.count) - 1
}
else {
$outputProps = @( ) + $refpart + $diffpart
$outputProps = @( ) + $refpart + $diffpart
#If we not using a single column as a key all columns are duplicated so, the Last difference column will be B if there is one property, D if there are two, F if there are 3
$lastDiffCol = [char](64 + 2 * $propList.count)
$lastDiffColNo = (2 * $proplist.count )
}
#Add RowNumber to every row
@@ -265,12 +263,14 @@
Set-Format -WorkSheet $ws -Range $range -BackgroundColor $ChangeBackgroundColor
}
elseif ( $expandedDiff[$i].side -eq "<=" ) {
$range = "A" + ($i + 2 ) + ":" + $lastRefCol + ($i + 2 )
$rangeR1C1 = "R[{0}]C[1]:R[{0}]C[{1}]" -f ($i + 2 ) , $lastRefColNo
$range = [OfficeOpenXml.ExcelAddress]::TranslateFromR1C1($rangeR1C1,0,0)
Set-Format -WorkSheet $ws -Range $range -BackgroundColor $DeleteBackgroundColor
}
elseif ( $expandedDiff[$i].side -eq "=>" ) {
if ($propList.count -gt 1) {
$range = $FirstDiffCol + ($i + 2 ) + ":" + $lastDiffCol + ($i + 2 )
$rangeR1C1 = "R[{0}]C[{1}]:R[{0}]C[{2}]" -f ($i + 2 ) , $FirstDiffColNo , $lastDiffColNo
$range = [OfficeOpenXml.ExcelAddress]::TranslateFromR1C1($rangeR1C1,0,0)
Set-Format -WorkSheet $ws -Range $range -BackgroundColor $AddBackgroundColor
}
Set-Format -WorkSheet $ws -Range ("A" + ($i + 2 )) -BackgroundColor $AddBackgroundColor

View File

@@ -1,7 +1,7 @@
- [ ] Create an autocomplete for WorkSheetName param on ImportExcel
- [ ] Add help text for parmaters which don't have it ( PivotDataToColumn , NoClobber and CellStyleSB ) in Export Excel, copy to Send-SQLDataToExcel
- [ ] Add checks for valid worksheet names (also check pivot names, range names and table names are valid)
- [ ] Investigate regional support for number conversion
- [ ] Investigate regional support for number conversion & possible date conversion
- [ ] Add help in ConvertToExcelXLSx.ps1, Copy-ExcelWorkSheet.ps1 (probably re-write copy)
- [ ] Add Help (continued) in Get-HTMLTable.ps1, GetRange.PS1, GetExcelTable.Ps1, Import-HTML.PS1, New-ConditionalFormattingIconSet.Ps1, NewConditionalText.PS1, New-Psitem.PS1, Remove-Worksheet.ps1
[ ] Copy parameter help from function Add-ExcelChart into New-ExcelChart.ps1

View File

@@ -7,62 +7,62 @@ Import-Module $PSScriptRoot\..\ImportExcel.psd1 -Force
if (Get-process -Name Excel,xlim -ErrorAction SilentlyContinue) { Write-Warning -Message "You need to close Excel before running the tests." ; return}
Describe ExportExcel {
Context "#Example 1 # Creates and opens a file with the right number of rows and columns" {
$path = "$env:TEMP\Test.xlsx"
Remove-item -Path $path -ErrorAction SilentlyContinue
$processes = Get-Process
$propertyNames = $Processes[0].psobject.properties.name
$rowcount = $Processes.Count
$Processes | Export-Excel $path -show
# Context "#Example 1 # Creates and opens a file with the right number of rows and columns" {
# $path = "$env:TEMP\Test.xlsx"
# Remove-item -Path $path -ErrorAction SilentlyContinue
# $processes = Get-Process
# $propertyNames = $Processes[0].psobject.properties.name
# $rowcount = $Processes.Count
# $Processes | Export-Excel $path -show
it "Created a new file " {
Test-Path -Path $path -ErrorAction SilentlyContinue | Should be $true
}
# it "Created a new file " {
# Test-Path -Path $path -ErrorAction SilentlyContinue | Should be $true
# }
it "Started Excel to display the file " {
Get-process -Name Excel, xlim -ErrorAction SilentlyContinue | Should not benullorempty
}
# it "Started Excel to display the file " {
# Get-process -Name Excel, xlim -ErrorAction SilentlyContinue | Should not benullorempty
# }
Start-Sleep -Seconds 5 ;
# Start-Sleep -Seconds 5 ;
#Open-ExcelPackage with -Create is tested in Export-Excel
#This is a test of using it with -KillExcel
#TODO Need to test opening pre-existing file with no -create switch (and graceful failure when file does not exist) somewhere else
$Excel = Open-ExcelPackage -Path $path -KillExcel
it "Killed Excel when Open-Excelpackage was told to " {
Get-process -Name Excel, xlim -ErrorAction SilentlyContinue | Should benullorempty
}
# #Open-ExcelPackage with -Create is tested in Export-Excel
# #This is a test of using it with -KillExcel
# #TODO Need to test opening pre-existing file with no -create switch (and graceful failure when file does not exist) somewhere else
# $Excel = Open-ExcelPackage -Path $path -KillExcel
# it "Killed Excel when Open-Excelpackage was told to " {
# Get-process -Name Excel, xlim -ErrorAction SilentlyContinue | Should benullorempty
# }
it "Created 1 worksheet " {
$Excel.Workbook.Worksheets.count | Should be 1
}
# it "Created 1 worksheet " {
# $Excel.Workbook.Worksheets.count | Should be 1
# }
$ws = $Excel.Workbook.Worksheets[1]
it "Created the worksheet with the expected name, number of rows and number of columns " {
$ws.Name | Should be "sheet1"
$ws.Dimension.Columns | Should be $propertyNames.Count
$ws.Dimension.Rows | Should be ($rowcount + 1)
}
# $ws = $Excel.Workbook.Worksheets[1]
# it "Created the worksheet with the expected name, number of rows and number of columns " {
# $ws.Name | Should be "sheet1"
# $ws.Dimension.Columns | Should be $propertyNames.Count
# $ws.Dimension.Rows | Should be ($rowcount + 1)
# }
$headingNames = $ws.cells["1:1"].Value
it "Created the worksheet with the correct header names " {
foreach ($p in $propertyNames) {
$headingnames -contains $p | Should be $true
}
}
# $headingNames = $ws.cells["1:1"].Value
# it "Created the worksheet with the correct header names " {
# foreach ($p in $propertyNames) {
# $headingnames -contains $p | Should be $true
# }
# }
it "Formatted the process StartTime field as 'local short date' " {
$STHeader = $ws.cells["1:1"].where( {$_.Value -eq "StartTime"})[0]
$STCell = $STHeader.Address -replace '1$', '2'
$ws.cells[$stcell].Style.Numberformat.NumFmtID | Should be 22
}
# it "Formatted the process StartTime field as 'local short date' " {
# $STHeader = $ws.cells["1:1"].where( {$_.Value -eq "StartTime"})[0]
# $STCell = $STHeader.Address -replace '1$', '2'
# $ws.cells[$stcell].Style.Numberformat.NumFmtID | Should be 22
# }
it "Formatted the process ID field as 'General' " {
$IDHeader = $ws.cells["1:1"].where( {$_.Value -eq "ID"})[0]
$IDCell = $IDHeader.Address -replace '1$', '2'
$ws.cells[$IDcell].Style.Numberformat.NumFmtID | Should be 0
}
}
# it "Formatted the process ID field as 'General' " {
# $IDHeader = $ws.cells["1:1"].where( {$_.Value -eq "ID"})[0]
# $IDCell = $IDHeader.Address -replace '1$', '2'
# $ws.cells[$IDcell].Style.Numberformat.NumFmtID | Should be 0
# }
# }
Context " # NoAliasOrScriptPropeties -ExcludeProperty and -DisplayPropertySet work" {
$path = "$env:TEMP\Test.xlsx"
@@ -408,7 +408,7 @@ Describe ExportExcel {
$PTws.PivotTables.Count | Should be 1
$Excel.Workbook.Worksheets["Processes"] | Should not beNullOrEmpty
$Excel.Workbook.Worksheets.Count | Should beGreaterThan 2
$excel.Workbook.Worksheets["Processes"].Dimension.rows | Should be 51 #50 data + 1 header
# $excel.Workbook.Worksheets["Processes"].Dimension.rows | Should be 51 #50 data + 1 header
}
$pt = $PTws.PivotTables[0]
it "Built the expected Pivot table " {
@@ -438,9 +438,9 @@ Describe ExportExcel {
$pt = $Excel.Workbook.Worksheets["ProcessesPivotTable"].PivotTables[0]
it "Appended to the Worksheet and Extended the Pivot table " {
$Excel.Workbook.Worksheets.Count | Should be $wCount
$excel.Workbook.Worksheets["Processes"].Dimension.rows | Should be 101 #appended 50 rows to the previous total
$pt.CacheDefinition.CacheDefinitionXml.pivotCacheDefinition.cacheSource.worksheetSource.ref |
Should be "A1:E101"
# $excel.Workbook.Worksheets["Processes"].Dimension.rows | Should be 101 #appended 50 rows to the previous total
# $pt.CacheDefinition.CacheDefinitionXml.pivotCacheDefinition.cacheSource.worksheetSource.ref |
# Should be "A1:E101"
}
it "Generated a message on extending the Pivot table " {
$warnVar | Should not beNullOrEmpty

BIN
fib.xlsx Normal file

Binary file not shown.