如何将DataTable复制到SharePoint SPList?

时间:2009-07-14 13:10:26

标签: c# sharepoint splistitem

我在sourceList数据表中有源列表数据,并希望将该数据复制到其根列表。

我该怎么做?

private void MoveToTopTaskList(DataTable sourceList, SPSite DestinationSiteCollection)
{
    SPWeb Destinationsite = DestinationSiteCollection.OpenWeb();
    SPList DestinationList = Destinationsite.Lists[TASKS];
    SPListItem DestinationListItem = DestinationList.Items.Add();

    foreach (DataRow row in sourceList.Rows)
    {

    }
}

1 个答案:

答案 0 :(得分:2)

上述案例的最佳方法是使用 SPWeb 对象的 ProcessBatchData 方法。这将帮助您将列表项更新到批处理列表中。

  1. 您需要构建一个XML标记,其中包含将数据插入列表的详细信息。
  2. 如果要将大量记录插入列表,请考虑将其拆分为较小的批次。如果您有1000条记录,请说两套500套。
  3. 在构建XML时,请确保使用 StringBuilder 类附加字符串。
  4. 有关 ProcessBatchData
  5. 的详情,请参阅这些链接Link1 Link2 Link3

    如果您想使用OM进行此操作。然后按照代码

    `SPWeb Destinationsite = DestinationSiteCollection.OpenWeb();
    SPList DestinationList = Destinationsite.Lists[TASKS];    
    SPListItem DestinationListItem = DestinationList.Items.Add();
      foreach (DataRow row in sourceList.Rows)
    {
        DestinationListItem = DestinationList.Items.Add();
        DestinationListItem["Field1"]=row["Col"].ToString();
        DestinationListItem["Fieldn"]=row["Coln"].ToString();
        DestinationListItem.Update()
    
    }
    

    `