From 5a92e51c761d656a42e32261789dacb64b81d0be Mon Sep 17 00:00:00 2001 From: Doug Finke Date: Sat, 18 Apr 2015 17:17:13 -0400 Subject: [PATCH] Suggested Changes --- .gitignore | 2 ++ ImportExcel.psm1 | 70 ++++++++++++++++++++++++++--------------------- TestSheets.xlsx | Bin 0 -> 11250 bytes 3 files changed, 41 insertions(+), 31 deletions(-) create mode 100644 TestSheets.xlsx diff --git a/.gitignore b/.gitignore index 3060476..6fb93a2 100644 --- a/.gitignore +++ b/.gitignore @@ -49,3 +49,5 @@ testPwd.xlsx test.csv EditPSM1.ps1 TryTitle.ps1 +data/Sheet10.txt +data/Sheet20.txt diff --git a/ImportExcel.psm1 b/ImportExcel.psm1 index a5e4970..465f881 100644 --- a/ImportExcel.psm1 +++ b/ImportExcel.psm1 @@ -43,37 +43,45 @@ function Import-Excel { } } -function Import-ExcelAllSheet -{ - [CmdletBinding()] - param - ( - [Parameter(Mandatory = $true)] - [String] - $Path, - [String] - $OutputPath = '.\', - [string] - $Encoding = 'UTF8', - [string] - $Extension = '.txt', - [string] - $Delimiter = ';' - ) - - $FullName = (Resolve-Path $Path).Path - $xl = New-Object -TypeName OfficeOpenXml.ExcelPackage -ArgumentList $FullName - $workbook = $xl.Workbook - - - Foreach ($sheet in $workbook.Worksheets) - { - Write-Verbose "Exporting sheet: $($sheet.name)" - - Import-Excel -FullName $FullName -Sheet $($sheet.Name) | Export-Csv -Path "$($OutputPath)\$($Sheet.Name)$($Extension)" -Delimiter $Delimiter -NoTypeInformation -Encoding $Encoding - - } - +function Export-ExcelSheet { + + [CmdletBinding()] + param + ( + [Parameter(Mandatory = $true)] + [String] + $Path, + [String] + $OutputPath = '.\', + [String] + $SheetName, + [string] + $Encoding = 'UTF8', + [string] + $Extension = '.txt', + [string] + $Delimiter = ';' + ) + + $Path = (Resolve-Path $Path).Path + $xl = New-Object -TypeName OfficeOpenXml.ExcelPackage -ArgumentList $Path + $workbook = $xl.Workbook + + $targetSheets = $workbook.Worksheets | Where {$_.Name -Match $SheetName} + + $params = @{} + $PSBoundParameters + $params.Remove("OutputPath") + $params.Remove("SheetName") + $params.NoTypeInformation = $true + + Foreach ($sheet in $targetSheets) + { + Write-Verbose "Exporting sheet: $($sheet.Name)" + + $params.Path = "$($OutputPath)\$($Sheet.Name)$($Extension)" + + Import-Excel $Path -Sheet $($sheet.Name) | Export-Csv @params + } } function Export-Excel { diff --git a/TestSheets.xlsx b/TestSheets.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..9b2fbc7ce374f4955df048f66172e0f62f88030b GIT binary patch literal 11250 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 MeE^___S>)j11Aw%T>t<8 literal 0 HcmV?d00001