Files
ImportExcel/Get-ExcelSheetInfo.ps1
2017-02-14 09:13:46 +01:00

50 lines
1.4 KiB
PowerShell

Function Get-ExcelSheetInfo {
<#
.SYNOPSIS
Get worksheet names and their indices of an Excel workbook.
.DESCRIPTION
The Get-ExcelSheetInfo cmdlet gets worksheet names and their indices of an Excel workbook.
.PARAMETER Path
Specifies the path to the Excel file. This parameter is required.
.EXAMPLE
Get-ExcelSheetInfo .\Test.xlsx
.NOTES
CHANGELOG
2016/01/07 Added Created by Johan Akerstrom (https://github.com/CosmosKey)
.LINK
https://github.com/dfinke/ImportExcel
#>
[CmdletBinding()]
param(
[Alias('FullName')]
[Parameter(ValueFromPipelineByPropertyName=$true, ValueFromPipeline=$true, Mandatory=$true)]
$Path
)
process {
$Path = (Resolve-Path $Path).ProviderPath
$stream = New-Object -TypeName System.IO.FileStream -ArgumentList $Path,'Open','Read','ReadWrite'
$xl = New-Object -TypeName OfficeOpenXml.ExcelPackage -ArgumentList $stream
$workbook = $xl.Workbook
if ($workbook -and $workbook.Worksheets) {
$workbook.Worksheets |
Select-Object -Property name,index,hidden,@{
Label = 'Path'
Expression = {$Path}
}
}
$stream.Close()
$stream.Dispose()
$xl.Dispose()
$xl = $null
}
}