Member 12990028 Ответов: 1

Нужен PS для экспорта столбцов библиотеки форм sharepoint в файл excel.


У меня есть библиотека форм infopath, которая содержит все данные формы в Столбцах. Мне нужен сценарий Powershell для экспорта этих данных в файл excel или CSV.

Что я уже пробовал:

Я использовал приведенный ниже код
Добавить-PSSnapin Microsoft.служба SharePoint.Powershell -ErrorAction SilentlyContinue

$MyWeb = Get-SPWeb-identity "http://cclportal/reservations/surveys"
$MyList = $web. Lists ["приложение CareTeam"]

$ListItemCollection = @()
 
 
$список.Элементы / foreach {
$ExportItem = New-Object PSObject
 
$ExportItem | добавить-член -свойством membertype NoteProperty -имя "ФИО сотрудника" -значение $_["имя сотрудника "]
 
$ExportItem | добавить-член -свойством membertype NoteProperty -название "домашний адрес" -значение $_["домашний адрес"]
 
#Добавить объект со свойством в массив
 
$ListItemCollection += $ExportItem
 
}
 
#Экспорт результирующего массива в CSV-файл
 $ListItemCollection | Export-CSV "c:\testexport.csv" - NoTypeInformation                       

#Утилизация веб-объекта

$MyWeb.Располагать()

но я получаю эту ошибку ниже

Невозможно индексировать в нулевой массив.
В C:\Users\_spsadmin\Desktop\Exporttoexcel.ps1:4 char:1
+ $MyList = $web. Lists ["приложение CareTeam"]
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : NullArray

Невозможно индексировать в нулевой массив.
В C:\Users\_spsadmin\Desktop\Exporttoexcel.ps1:12 char:1
+ $ExportItem | добавить-член -свойством membertype NoteProperty -имя "ФИО сотрудника" -стоимость $ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : NullArray

Невозможно индексировать в нулевой массив.
В C:\Users\_spsadmin\Desktop\Exporttoexcel.ps1:14 char:1
+ $ExportItem | добавить-член -свойством membertype NoteProperty -название "домашний адрес" -значение $_ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : NullArray

1 Ответов

Рейтинг:
7

DanielBrownAU

$список.Предметы должны быть $MyList.Элементы, как у вас нет декларации для $list.

Кроме того, я бы проверил $web. Lists ["приложение CareTeam"], это также может вызвать проблемы

В качестве более безопасного варианта я бы использовал ListID/GUID списка.

Чтобы получить идентификатор списка, просто перейдите на страницу настроек списка, и он находится в URL-адресе

Надеюсь, это поможет


Member 12990028

Спасибо.

Member 12990028

Окончательный код, который работает, и я получил данные в файле excel. Но его не заполняет значение столбцов" CreatedBy"? И знаете почему?


Добавить-PSSnapin Microsoft.служба SharePoint.Powershell -ErrorAction SilentlyContinue

$MyWeb = Get-SPWeb-identity "http://cclportal/reservations/surveys"
$MyList = $MyWeb.Списки ["Приложение CareTeam"]
$ListItemCollection = @()
 
 
$Мой список.Элементы / foreach {
$ExportItem = New-Object PSObject
 
$ExportItem | добавить-член -свойством membertype NoteProperty -имя "создать" -значение $_["создан"]
 
$ExportItem | добавить-член -свойством membertype NoteProperty -имя "опросчики электронной почты" -значение $_["опросчики электронной почты"]
$ExportItem | добавить-член -свойством membertype NoteProperty -имя "ФИО сотрудника" -значение $_["имя сотрудника "]
$ExportItem | добавить-член -свойством membertype NoteProperty -имя "статус" -значение $_["статус"]
 
#Добавить объект со свойством в массив
 
$ListItemCollection += $ExportItem
 
}
 
#Экспорт результирующего массива в CSV-файл
 
$ListItemCollection | Export-CSV "c:\testexport.csv" - NoTypeInformation