From 9e92f2dbc62ead97a78ad64bd11c033fb8cf7822 Mon Sep 17 00:00:00 2001 From: dfinke Date: Sun, 22 Sep 2019 11:58:13 -0400 Subject: [PATCH] Refactored --- Examples/ReadAllSheets/GenerateXlsx.ps1 | 54 +++++++++++++++++++ Examples/ReadAllSheets/Get-ExcelSheets.ps1 | 19 +++++++ Examples/ReadAllSheets/ReadAllSheets.ps1 | 62 ++-------------------- 3 files changed, 76 insertions(+), 59 deletions(-) create mode 100644 Examples/ReadAllSheets/GenerateXlsx.ps1 create mode 100644 Examples/ReadAllSheets/Get-ExcelSheets.ps1 diff --git a/Examples/ReadAllSheets/GenerateXlsx.ps1 b/Examples/ReadAllSheets/GenerateXlsx.ps1 new file mode 100644 index 0000000..7b42ea1 --- /dev/null +++ b/Examples/ReadAllSheets/GenerateXlsx.ps1 @@ -0,0 +1,54 @@ +param( + [Parameter(Mandatory)] + $path +) + +$sheet1 = ConvertFrom-Csv @" +Region,Item,TotalSold +West,melon,27 +North,avocado,21 +West,kiwi,84 +East,melon,23 +North,kiwi,8 +North,nail,29 +North,kiwi,46 +South,nail,83 +East,pear,10 +South,avocado,40 +"@ + +$sheet2 = ConvertFrom-Csv @" +Region,Item,TotalSold +West,lemon,24 +North,hammer,41 +East,nail,87 +West,lemon,68 +North,screwdriver,9 +North,drill,76 +West,lime,28 +West,pear,78 +North,apple,95 +South,melon,40 +"@ + +$sheet3 = ConvertFrom-Csv @" +Region,Item,TotalSold +South,drill,100 +East,saw,22 +North,saw,5 +West,orange,78 +East,saw,27 +North,screwdriver,57 +South,hammer,66 +East,saw,62 +West,nail,98 +West,nail,98 +"@ + +Remove-Item $path -ErrorAction SilentlyContinue + +$sheet1 | Export-Excel $path -WorksheetName Sheet1 +$sheet2 | Export-Excel $path -WorksheetName Sheet2 +$sheet3 | Export-Excel $xlfile -WorksheetName Sheet3 + +$path \ No newline at end of file diff --git a/Examples/ReadAllSheets/Get-ExcelSheets.ps1 b/Examples/ReadAllSheets/Get-ExcelSheets.ps1 new file mode 100644 index 0000000..0b089ae --- /dev/null +++ b/Examples/ReadAllSheets/Get-ExcelSheets.ps1 @@ -0,0 +1,19 @@ +# Get-ExcelSheets + +param( + [Parameter(Mandatory)] + $path +) + + +$hash = @{ } + +$e = Open-ExcelPackage $path + +foreach ($sheet in $e.workbook.worksheets) { + $hash[$sheet.name] = Import-Excel -ExcelPackage $e -WorksheetName $sheet.name +} + +Close-ExcelPackage $e -NoSave + +$hash \ No newline at end of file diff --git a/Examples/ReadAllSheets/ReadAllSheets.ps1 b/Examples/ReadAllSheets/ReadAllSheets.ps1 index f3a237c..5bc26d4 100644 --- a/Examples/ReadAllSheets/ReadAllSheets.ps1 +++ b/Examples/ReadAllSheets/ReadAllSheets.ps1 @@ -1,60 +1,4 @@ -$sheet1 = ConvertFrom-Csv @" -Region,Item,TotalSold -West,melon,27 -North,avocado,21 -West,kiwi,84 -East,melon,23 -North,kiwi,8 -North,nail,29 -North,kiwi,46 -South,nail,83 -East,pear,10 -South,avocado,40 -"@ +$xlfile = "$env:TEMP\MultipleSheets.xlsx" -$sheet2 = ConvertFrom-Csv @" -Region,Item,TotalSold -West,lemon,24 -North,hammer,41 -East,nail,87 -West,lemon,68 -North,screwdriver,9 -North,drill,76 -West,lime,28 -West,pear,78 -North,apple,95 -South,melon,40 -"@ - -$sheet3 = ConvertFrom-Csv @" -Region,Item,TotalSold -South,drill,100 -East,saw,22 -North,saw,5 -West,orange,78 -East,saw,27 -North,screwdriver,57 -South,hammer,66 -East,saw,62 -West,nail,98 -West,nail,98 -"@ - -$xlfile = "$env:TEMP\MultipleSheets.xlsx" -Remove-Item $xlfile -ErrorAction SilentlyContinue - -$sheet1 | Export-Excel $xlfile -WorksheetName Sheet1 -$sheet2 | Export-Excel $xlfile -WorksheetName Sheet2 -$sheet3 | Export-Excel $xlfile -WorksheetName Sheet3 - -# Read all the sheets in the workbook -$hash = @{ } -$e = Open-ExcelPackage $xlfile -foreach ($sheet in $e.workbook.worksheets) { - $hash[$sheet.name] = Import-Excel -ExcelPackage $e -WorksheetName $sheet.name -} - -Close-ExcelPackage $e -NoSave - -# Output Sheet1 -$hash.Sheet1 \ No newline at end of file +.\GenerateXlsx.ps1 $xlfile +.\Get-ExcelSheets.ps1 $xlfile \ No newline at end of file