From 201b9cd98461f0ac01cfe35d7ca1aefc643a159e Mon Sep 17 00:00:00 2001 From: dfinke Date: Sat, 15 Oct 2022 19:34:58 -0400 Subject: [PATCH] Add Sheet visibility property --- Public/Get-ExcelFileSummary.ps1 | 1 + __tests__/Get-ExcelFileSummary.Tests.ps1 | 15 ++++++++++++--- .../ImportExcelTests/SheetVisibleTesting.xlsx | Bin 0 -> 11126 bytes 3 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 __tests__/ImportExcelTests/SheetVisibleTesting.xlsx diff --git a/Public/Get-ExcelFileSummary.ps1 b/Public/Get-ExcelFileSummary.ps1 index 6aeae2f..3ffec1e 100644 --- a/Public/Get-ExcelFileSummary.ps1 +++ b/Public/Get-ExcelFileSummary.ps1 @@ -16,6 +16,7 @@ function Get-ExcelFileSummary { [PSCustomObject][Ordered]@{ ExcelFile = Split-Path -Leaf $Path WorksheetName = $workSheet.Name + Visible = $workSheet.Hidden -eq 'Visible' Rows = $workSheet.Dimension.Rows Columns = $workSheet.Dimension.Columns Address = $workSheet.Dimension.Address diff --git a/__tests__/Get-ExcelFileSummary.Tests.ps1 b/__tests__/Get-ExcelFileSummary.Tests.ps1 index 38fc9eb..b6e2edb 100644 --- a/__tests__/Get-ExcelFileSummary.Tests.ps1 +++ b/__tests__/Get-ExcelFileSummary.Tests.ps1 @@ -3,9 +3,7 @@ [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidAssignmentToAutomaticVariable', '', Justification = 'Only executes on versions without the automatic variable')] param() -if (-not (Get-command Import-Excel -ErrorAction SilentlyContinue)) { - Import-Module $PSScriptRoot\..\ImportExcel.psd1 -} +Import-Module $PSScriptRoot\..\ImportExcel.psd1 -Force Describe 'All tests for Get-ExcelFileSummary' -Tag "Get-ExcelFileSummary" { Context "Test Get-ExcelFileSummary" { @@ -14,6 +12,7 @@ Describe 'All tests for Get-ExcelFileSummary' -Tag "Get-ExcelFileSummary" { $actual.ExcelFile | Should -BeExactly 'TestData1.xlsx' $actual.WorksheetName | Should -BeExactly 'Sheet1' + $actual.Visible | Should -BeTrue $actual.Rows | Should -Be 3 $actual.Columns | Should -Be 2 $actual.Address | Should -BeExactly 'A1:B3' @@ -26,6 +25,7 @@ Describe 'All tests for Get-ExcelFileSummary' -Tag "Get-ExcelFileSummary" { $actual[0].ExcelFile | Should -BeExactly 'MultipleSheets.xlsx' $actual[0].WorksheetName | Should -BeExactly 'Sheet1' + $actual[0].Visible | Should -BeTrue $actual[0].Rows | Should -Be 1 $actual[0].Columns | Should -Be 4 $actual[0].Address | Should -BeExactly 'A1:D1' @@ -33,11 +33,20 @@ Describe 'All tests for Get-ExcelFileSummary' -Tag "Get-ExcelFileSummary" { $actual[1].ExcelFile | Should -BeExactly 'MultipleSheets.xlsx' $actual[1].WorksheetName | Should -BeExactly 'Sheet2' + $actual[1].Visible | Should -BeTrue $actual[1].Rows | Should -Be 2 $actual[1].Columns | Should -Be 2 $actual[1].Address | Should -BeExactly 'A1:B2' $actual[1].Path | Should -Not -BeNullOrEmpty } + It "Tests if sheet is hidden or not" { + $actual = Get-ExcelFileSummary "$PSScriptRoot\ImportExcelTests\SheetVisibleTesting.xlsx" + + $actual[0].Visible | Should -BeTrue + $actual[1].Visible | Should -BeFalse + $actual[2].Visible | Should -BeTrue + $actual[3].Visible | Should -BeFalse + } } } diff --git a/__tests__/ImportExcelTests/SheetVisibleTesting.xlsx b/__tests__/ImportExcelTests/SheetVisibleTesting.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..72509079de71423f7dc068f5e80a15de509637f4 GIT binary patch literal 11126 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