我需要将сsv与列表进行比较,并将缺少的项目添加到列表中。仅从csv添加到列表中。
答案 0 :(得分:0)
你可以做到。但是在SharePoint列表中没有ID以外的任何唯一列。您的CSV可能没有该ID。因此,您应该在CSV和SP列表中都有唯一的calue列。获取DataTable中CSV和SharePoint列表中的所有行,并比较两个DataTable以获取不同的值并在SP列表中上载这些行。
答案 1 :(得分:0)
我相信您的CSV中的数据与列表中的数据顺序相同,即您的CSV的第一行将与ID中的第一行数据进行比较,以ID降序排列。
在CSV标题名称中应与列表列相同。
导入CSV并遍历每一行,也分别获取listItems并比较列,如下所示:
$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列完成。
这是我的第一个答案,如果有效,请告诉我。)