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

View File

@@ -4,7 +4,7 @@
RootModule = 'ImportExcel.psm1'
# Version number of this module.
ModuleVersion = '6.5.2'
ModuleVersion = '6.5.3'
# ID used to uniquely identify this module
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)
# 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
Thank you [uSlackr](https://github.com/uSlackr)ill

View File

@@ -42,4 +42,25 @@ Describe "Tests" {
$data[0].p1 | Should be "a"
$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.