如何解析字符串未被识别为有效的日期时间。 - 前提下的客户端对象模型 Sharepoint

How to resolve String was not recognized as a valid DateTime. - Client Object Model Sharepoint on Premise

我编写了一个脚本,用于将数据从指定的 CSV 文件导入到指定 SharePoint 2013 站点(本地)中的列表。但是,当我进入 运行 脚本时,出现以下两个错误:

我明白为什么会出现这些错误。这是因为 CSV 文件中包含日期字段的列包含空白。我会把这些空白放在一个日期但是,SharePoint 中还有另一列,如果它的值为“1”,则该列 不得 包含日期。

我可以在我的脚本中添加什么来解决这个问题?

提前致谢, 山姆·D·哈里斯

@Sam 我正在分享使用 powershell 将 CSV 中的日期数据添加到共享点列表的代码。

在您的 foreach 循环中读取导入的 CSV 的每一行。

    [DateTime]$loggedOnDate = New-Object System.DateTime;

    $newItem = $list.items.add();

    if([DateTime]::TryParse($item."Logged On", [ref]$loggedOnDate)){            
       $newitem["LoggedOn"] = $loggedOnDate;            
    }

    $newitem.update();

其中:- $item."Logged On" - "Logged On" 是 CSV 文件中的列名。 $newitem["LoggedOn"] 是 splist 中的列名。

现在让我们开始回答您的查询,假设 CSV 有两列

  • 'Active' - 值 [0 或 1]
  • 登录 - 日期列

在 Sharepoint 中添加 csv 数据的 Powershell 代码是。

$newItem = $list.items.add();

 IF(($item.Active -ne 1)
 {
       [DateTime]$loggedOnDate = New-Object System.DateTime;

    if([DateTime]::TryParse($item."Logged On", [ref]$loggedOnDate)){            
               $newitem["LoggedOn"] = $loggedOnDate;            
        }
}

$newitem.update(); 

确保共享点列表中日期列的默认值应为空白。