我需要将 сsv 与列表进行比较,并将缺失的项目添加到列表中。仅从 csv 添加到列表中。
你可以做到。但是在 SharePoint 列表中,除了 ID 之外没有任何唯一列。您的 CSV 可能没有该 ID。因此,您应该在 CSV 和 SP 列表中都有一个唯一的 calue 列。在数据表中获取CSV和SharePoint列表中的所有行,并比较两个数据表以获取不同的值,并在SP列表中上传这些行。
我相信您的 CSV 中的数据与列表中的顺序相同,即 CSV 的第一行将按降序与 ID 上短缩的列表的第一个数据进行比较。
在 CSV 中,标题名称应与列表列相同。
导入CSV并遍历每一行,还可以单独获取列表项并比较列,如下所示:
$SPWeb = Get-SPWeb http://mysharepoint.org
$SPList = $SPWeb.Lists["My List"]
$listItems = $SPList.GetItems()
##Import your CSV
$csv = Import-Csv "D:Test.csv"
$counter=0
foreach ($item in $csv)
{
if( $listItems[$counter]["Column"] -ne $item.Column)
{
#Fetch that item by ID and Update
$SPListItem = $SPList.GetItemByUniqueId($listItems[$counter]['ID'])
$SPListItem["Column"] = $item.Column
$SPListItem.Update()
$counter=$counter+1
}
}
我已经为一列完成了,可以为 n 列完成。
这是我的第一个答案,请让我知道它是否有效:)