Sync to Doug's 6.5.3 release

This commit is contained in:
jhoneill
2019-11-23 16:12:29 +00:00
parent d4da73e8f4
commit f6c66e21a7
6 changed files with 91 additions and 51 deletions

View File

@@ -1,14 +1,13 @@
function Import-Excel { function Import-Excel {
[CmdLetBinding()] [CmdLetBinding()]
[Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSAvoidUsingPlainTextForPassword", "")] [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSAvoidUsingPlainTextForPassword", "")]
[Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSPossibleIncorrectUsageOfAssignmentOperator', '', Justification = 'Intentional')] [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSPossibleIncorrectUsageOfAssignmentOperator', '', Justification = 'Intentional')]
Param ( param (
[Alias('FullName')] [Alias('FullName')]
[Parameter(ParameterSetName = "PathA", Mandatory, ValueFromPipelineByPropertyName, ValueFromPipeline, Position = 0 )] [Parameter(ParameterSetName = "PathA", Mandatory, ValueFromPipelineByPropertyName, ValueFromPipeline, Position = 0 )]
[Parameter(ParameterSetName = "PathB", Mandatory, ValueFromPipelineByPropertyName, ValueFromPipeline, Position = 0 )] [Parameter(ParameterSetName = "PathB", Mandatory, ValueFromPipelineByPropertyName, ValueFromPipeline, Position = 0 )]
[Parameter(ParameterSetName = "PathC", Mandatory, ValueFromPipelineByPropertyName, ValueFromPipeline, Position = 0 )] [Parameter(ParameterSetName = "PathC", Mandatory, ValueFromPipelineByPropertyName, ValueFromPipeline, Position = 0 )]
[String]$Path, [String[]]$Path,
[Parameter(ParameterSetName = "PackageA", Mandatory)] [Parameter(ParameterSetName = "PackageA", Mandatory)]
[Parameter(ParameterSetName = "PackageB", Mandatory)] [Parameter(ParameterSetName = "PackageB", Mandatory)]
[Parameter(ParameterSetName = "PackageC", Mandatory)] [Parameter(ParameterSetName = "PackageC", Mandatory)]
@@ -37,9 +36,17 @@
[ValidateNotNullOrEmpty()] [ValidateNotNullOrEmpty()]
[String]$Password [String]$Password
) )
begin { end {
$sw = [System.Diagnostics.Stopwatch]::StartNew() $sw = [System.Diagnostics.Stopwatch]::StartNew()
if ($input) {
$Paths = $input
}
elseif ($Path) {
$Paths = $Path
}
else {
$Paths = ''
}
Function Get-PropertyNames { Function Get-PropertyNames {
<# <#
.SYNOPSIS .SYNOPSIS
@@ -83,9 +90,7 @@
throw "Failed creating property names: $_" ; return throw "Failed creating property names: $_" ; return
} }
} }
} foreach ($Path in $Paths) {
process {
if ($path) { if ($path) {
$extension = [System.IO.Path]::GetExtension($Path) $extension = [System.IO.Path]::GetExtension($Path)
if ($extension -notmatch '.xlsx$|.xlsm$') { if ($extension -notmatch '.xlsx$|.xlsm$') {
@@ -194,3 +199,4 @@
} }
} }
} }
}

View File

@@ -4,7 +4,7 @@
RootModule = 'ImportExcel.psm1' RootModule = 'ImportExcel.psm1'
# Version number of this module. # Version number of this module.
ModuleVersion = '6.5.2' ModuleVersion = '6.5.3'
# ID used to uniquely identify this module # ID used to uniquely identify this module
GUID = '60dd4136-feff-401a-ba27-a84458c57ede' GUID = '60dd4136-feff-401a-ba27-a84458c57ede'

View File

@@ -60,6 +60,19 @@ Plus, wiring the [PowerShell ScriptAnalyzer Excel report](https://github.com/dfi
![](./images/ScriptAnalyzerReport.png) ![](./images/ScriptAnalyzerReport.png)
# What's new 6.5.3
Thanks again to the community for making this module even better.
- [Fix import excel headers](https://github.com/dfinke/ImportExcel/pull/713)
- Numerous improvements for DataTables and exporting it to Excel [James O'Neill](https://twitter.com/jamesoneill)
- Names, styles, proper appending
- Handles marking the empty row on an empty table as dummy row
- Re-work code based on linting recommendations
- Update existing tests and add more
- Support PipelineVariable thanks to [Luc Dekens](https://twitter.com/LucD22) for reporting and [Ili](https://twitter.com/ili_z) for the PR
- Fix quoting in ConvertFromExcelToSQLInsert [beckerben](https://github.com/beckerben)
# What's new 6.5.2 # What's new 6.5.2
Thank you [uSlackr](https://github.com/uSlackr)ill Thank you [uSlackr](https://github.com/uSlackr)ill

View File

@@ -42,4 +42,25 @@ Describe "Tests" {
$data[0].p1 | Should be "a" $data[0].p1 | Should be "a"
$data[1].p1 | Should be "b" $data[1].p1 | Should be "b"
} }
It "Should take Paths from parameter".PadRight(90) {
$data = Import-Excel -Path (Get-ChildItem -Path $PSScriptRoot -Filter "TestData?.xlsx").FullName
$data.count | Should be 4
$data[0].cola | Should be 1
$data[2].cola | Should be 5
}
It "Should take Paths from pipeline".PadRight(90) {
$data = (Get-ChildItem -Path $PSScriptRoot -Filter "TestData?.xlsx").FullName | Import-Excel
$data.count | Should be 4
$data[0].cola | Should be 1
$data[2].cola | Should be 5
}
It "Should support PipelineVariable".PadRight(90) {
$data = Import-Excel $PSScriptRoot\Simple.xlsx -PipelineVariable 'Pv' | ForEach-Object { $Pv.p1 }
$data.count | Should be 2
$data[0] | Should be "a"
$data[1] | Should be "b"
}
} }

Binary file not shown.

Binary file not shown.