Fix for EndRow and EndColumn Parameters Ignored in Import-Excel #1194

This commit is contained in:
dfinke
2022-06-12 09:53:52 -04:00
parent 8bb3d50052
commit ef35c4fca8
4 changed files with 42 additions and 3 deletions

View File

@@ -134,8 +134,11 @@
$xlBook = [Ordered]@{}
foreach ($sheet in $Worksheet) {
$EndRow = 0
$EndColumn = 0
if ($Worksheet.Count -gt 1 -or $Paths.Count -gt 1) {
$EndRow = 0
$EndColumn = 0
}
$targetSheetname = $sheet.Name
$xlBook["$targetSheetname"] = @()
#region Get rows and columns

Binary file not shown.

View File

@@ -0,0 +1,36 @@
Import-Module $PSScriptRoot\..\..\ImportExcel.psd1 -Force
Describe 'Test' -Tag ImportExcelEndRowAndCols {
BeforeAll {
$script:xlFilename = "$PSScriptRoot\DataInDiffRowCol.xlsx"
}
Context 'Test reading a patial sheet' {
It 'Should read 2 rows and first 3 columns' {
$actual = Import-Excel $xlFilename -StartRow 5 -EndRow 7 -StartColumn 3 -EndColumn 5
$actual | out-host
$actual.Count | Should -Be 2
$colNames = $actual[0].psobject.properties.Name
$colNames.Count | Should -Be 3
$colNames[0] | Should -Be 'Region'
$colNames[1] | Should -Be 'State'
$colNames[2] | Should -Be 'Units'
}
It 'Should read second 2 rows and last 2 columns' {
$actual = Import-Excel $xlFilename -StartRow 8 -EndRow 9 -StartColumn 5 -EndColumn 6 -HeaderName 'Units', 'Price'
$actual | out-host
$actual.Count | Should -Be 2
$colNames = $actual[0].psobject.properties.Name
$colNames.Count | Should -Be 2
$colNames[0] | Should -Be 'Units'
$colNames[1] | Should -Be 'Price'
}
}
}

View File

@@ -3,7 +3,7 @@ Param()
Import-Module $PSScriptRoot\..\..\ImportExcel.psd1 -Force
Describe "Test reading multiple XLSX files of differernt row count" -Tag ReadMultipleXLSX {
Describe "Test reading multiple XLSX files of different row count" -Tag ReadMultipleXLSX {
It "Should find these xlsx files" {
Test-Path -Path $PSScriptRoot\rows05.xlsx | Should -BeTrue
Test-Path -Path $PSScriptRoot\rows10.xlsx | Should -BeTrue