Получить список столбцов в таблице Excel на заданной рабочей таблице c с помощью модуля ImportExcel Powershell - PullRequest
0 голосов
/ 27 января 2020

У меня есть краткое описание c: получить имена столбцов таблицы Excel, которая находится на заданном листе, с помощью модуля ImportExcel Powershell .

Возможно ли это, или мне лучше читать книгу с подключением OLE-DB или чем-то подобным?

Я пытался использовать команду GetExcelTable ImportExcel, но Powershell, похоже, не распознает это - это была моя тщетная попытка получить ссылку на таблицу и каким-то образом использовать ее, чтобы добраться до имен столбцов.

Вот фрагмент кода:

$table = GetExcelTable -FilePath $xlsxConfigFilePath -SheetName "SYS_SourceSystem"

И вот ошибка, которую я получаю, когда пытаюсь его запустить ($ xlsxConfigFilePath указывается в качестве допустимого пути к книге Excel):

GetExcelTable: термин «GetExcelTable» не распознается как имя командлета, функции, файла сценария или работоспособной программы. Проверьте правильность написания имени или, если путь был указан, проверьте правильность пути и повторите попытку. В строке: 9 символов: 10 + $ table = GetExcelTable -FilePath $ xlsxConfigFilePath -SheetName "SYS_ ... + ~~~~~~~~~~~~~ + CategoryInfo: ObjectNotFound: (GetExcelTable: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException

Любая помощь будет оценена!

1 Ответ

0 голосов
/ 28 января 2020

Основываясь на предложении @ BenH, я нашел решение, которое использует модуль ImportExcel без необходимости подключения OLE-DB.

Сначала мы получаем ссылку на таблицу (рабочая таблица содержит только одну таблицу ):

$table = Import-Excel -Path $xlsxConfigFilePath -WorksheetName "SYS_SourceSystem"

Поскольку переменная $table, которую мы получаем из этого объекта, является PSCustomObject, мы можем проанализировать ее с помощью командлета Get-Member:

$table | Get-Member -MemberType NoteProperty | %{
"$($_.Name)"
}

Мы используем NoteProperty для обратитесь к части объекта, которая содержит имена столбцов.

Вот вывод с именами столбцов:

ID
SRCS_Code
SRCS_Name
SRS_Platform
SSIS_ConnectionName

Спасибо всем за помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...