added Export-MultipleExcelSheets

This commit is contained in:
Doug Finke
2015-04-29 18:52:26 -04:00
parent 3c6a982667
commit d33a040d43

View File

@@ -179,11 +179,11 @@ function Export-Excel {
$targetCell = $ws.Cells[$Row, $ColumnIndex]
$targetCell.Value = $TargetData.$Name
switch ($TargetData.$Name) {
{$_ -is [datetime]} {$targetCell.Style.Numberformat.Format = "m/d/yy h:mm"}
{$_ -is [datetime]} {$targetCell.Style.Numberformat.Format = "m/d/yy h:mm"}
}
$ColumnIndex += 1
}
}
@@ -289,4 +289,31 @@ function ConvertFrom-ExcelSheet {
Import-Excel $Path -Sheet $($sheet.Name) | Export-Csv @params
}
}
function Export-MultipleExcelSheets {
param(
[Parameter(Mandatory)]
$Path,
[Parameter(Mandatory)]
[hashtable]$InfoMap,
[string]$Password,
[Switch]$Show,
[Switch]$AutoSize
)
$parameters = @{}+$PSBoundParameters
$parameters.Remove("InfoMap")
$parameters.Remove("Show")
$parameters.Path = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($Path)
foreach ($entry in $InfoMap.GetEnumerator()) {
Write-Progress -Activity "Exporting" -Status "$($entry.Key)"
$parameters.WorkSheetname=$entry.Key
& $entry.Value | Export-Excel @parameters
}
if($Show) {Invoke-Item $Path}
}