From b67801e9831ce28a65d98c34d5b68b6154f47c5d Mon Sep 17 00:00:00 2001 From: dfinke Date: Wed, 7 Jun 2023 17:59:03 -0400 Subject: [PATCH] wip --- Public/Import-Excel.ps1 | 6 +++++- .../ImportExcelTests/TestData-Tables.xlsx | Bin 0 -> 8069 bytes __tests__/ImportExcelTests/TestData1.xlsx | Bin 8626 -> 6659 bytes 3 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 __tests__/ImportExcelTests/TestData-Tables.xlsx diff --git a/Public/Import-Excel.ps1 b/Public/Import-Excel.ps1 index 3734f2b..9d353ec 100644 --- a/Public/Import-Excel.ps1 +++ b/Public/Import-Excel.ps1 @@ -37,7 +37,8 @@ [ValidateNotNullOrEmpty()] [String]$Password, [Int[]]$ImportColumns, - [Switch]$Raw + [Switch]$Raw, + [Switch]$UseSpectre ) end { $sw = [System.Diagnostics.Stopwatch]::StartNew() @@ -252,6 +253,9 @@ $entry.Value } } + elseif ($UseSpectre) { + $xlBook | Format-SpectreTable + } elseif ($Worksheet.Count -eq 1) { $xlBook["$targetSheetname"] } diff --git a/__tests__/ImportExcelTests/TestData-Tables.xlsx b/__tests__/ImportExcelTests/TestData-Tables.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..b1b89ee270e8dac7f379973ca660b5c925ab7724 GIT binary patch literal 8069 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 ae?>uF8vgFg0sx@iUD$V`uT66Q>;C}g!wYo) literal 0 HcmV?d00001 diff --git a/__tests__/ImportExcelTests/TestData1.xlsx b/__tests__/ImportExcelTests/TestData1.xlsx index 7f554adb7cb810a4ef8ea8fc1d14f74bb68a30a8..401316151ddad43d7200c09fbe311b23515efead 100644 GIT binary patch literal 6659 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 F{SV#vqBQ^j literal 8626 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