首页 > 解决方案 > 有没有办法在 Sharepoint 列表中添加一个新列,从该列表中的另一列复制数据?

问题描述

我正在使用 Sharepoint Online。

我在列表中有一个当前为“多行文本”的列。如果我尝试使用 SP UI 并手动将列类型更改为“单行文本”,则会收到“unsupportedFieldTypeError”。

如果我使用 Sharepoint Designer 2013,并在我突出显示此列时访问列表并尝试单击“列类型”,则没有任何反应。

我真的很想知道我是否可以创建一个“单行文本”的新列,它只复制这个“多行文本”列的值?

谢谢!

标签: sharepointsharepoint-2013sharepoint-onlinesharepoint-designersharepoint-list

解决方案


您可以使用下面的 PnP PowerShell 创建一个新的单行文本字段并复制字段值:</p>

#Parameters
$SiteURL = "https://zheguo.sharepoint.com/"
$ListName = "JqueryList"
$SourceColumn = "MultiField" #Internal Name of the Fields
$DestinationColumn = "SingleField"

#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credential Get-Credential

#Get all items from List
$ListItems = Get-PnPListItem -List $Listname

#Copy Values from one column to another
ForEach ($Item in $ListItems)
{
    Set-PnPListItem -List $Listname -Identity $Item.Id -Values @{$DestinationColumn = $Item[$SourceColumn]}
}

结果:

在此处输入图像描述

在使用 PowerShell 之前,请在此处安装 PnP PowerShell:

pnp/PnP-PowerShell

参考:

SharePoint Online:使用 PowerShell 将值从一列复制到另一列


推荐阅读