From 43927ca078a0d5a342ea8bbf7096cf6531d0ba4f Mon Sep 17 00:00:00 2001 From: ili101 Date: Sun, 17 Nov 2019 19:58:14 +0200 Subject: [PATCH] Export-Excel.ps1 532: Now mode TableName is auto generated if not specified (shouldn't matter just in case). 632: Fix -DataTable "" to use LoadFromDataTable with style (auto generated name) 820: DataTable + TableStyle without TableName corruption fix. Also simplified even more. 822: Change back to "-TableName $TableName" as cange broke test: Export-Excel.Tests.ps1 617: Undo change test was correct. --- Export-Excel.ps1 | 14 ++++++-------- __tests__/Export-Excel.Tests.ps1 | 2 +- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/Export-Excel.ps1 b/Export-Excel.ps1 index 4459690..c0a97f2 100644 --- a/Export-Excel.ps1 +++ b/Export-Excel.ps1 @@ -529,7 +529,7 @@ if (-not $PSBoundParameters.ContainsKey("TableName") -and -not $PSBoundParameters.ContainsKey("TableStyle") -and -not $AutoFilter) { - $TableName = 'Table1' + $TableName = '' } } if ($ExcelPackage) { @@ -629,8 +629,7 @@ Write-Warning "Table name $($InputObject.TableName) is not unique, adding '_' to it " $InputObject.TableName += "_" } - if ($TableName -or $PSBoundParameters.ContainsKey("TableStyle")) { - $TableName = $null + if ($null -ne $TableName -or $PSBoundParameters.ContainsKey("TableStyle")) { $null = $ws.Cells[$row,$StartColumn].LoadFromDataTable($InputObject, (-not $noHeader),$TableStyle ) } else { @@ -818,11 +817,10 @@ if ($RangeName) { Add-ExcelName -Range $ws.Cells[$dataRange] -RangeName $RangeName} #Allow table to be inserted by specifying Name, or Style or both; only process autoFilter if there is no table (they clash). - if ($null -ne $TableName) { - Add-ExcelTable -Range $ws.Cells[$dataRange] -TableName $PSBoundParameters['TableName'] -TableStyle $TableStyle - } - elseif ($PSBoundParameters.ContainsKey('TableStyle')) { - Add-ExcelTable -Range $ws.Cells[$dataRange] -TableName "" -TableStyle $TableStyle + if ($null -ne $TableName -or $PSBoundParameters.ContainsKey('TableStyle')) { + if ($InputObject -isnot [System.Data.DataTable]) { + Add-ExcelTable -Range $ws.Cells[$dataRange] -TableName $TableName -TableStyle $TableStyle + } } elseif ($AutoFilter) { try { diff --git a/__tests__/Export-Excel.Tests.ps1 b/__tests__/Export-Excel.Tests.ps1 index c7df4cc..89767fa 100644 --- a/__tests__/Export-Excel.Tests.ps1 +++ b/__tests__/Export-Excel.Tests.ps1 @@ -614,7 +614,7 @@ Describe ExportExcel { $dataWs = $Excel.Workbook.Worksheets["NoOffset"] it "Created a new sheet and auto-extended a table and explicitly extended named ranges " { - $dataWs.Tables["ProcTab"].Address.Address | Should be "A1:E11" + $dataWs.Tables["ProcTab"].Address.Address | Should be "A1:E21" $dataWs.Names["CPU"].Rows | Should be 20 $dataWs.Names["CPU"].Columns | Should be 1 }