0

我目前正在尝试将行从我导入的工作表移动到另一个现有工作表中。截至目前,我正在使用result.data.id返回将与导入的工作表关联的工作表 ID。为了进一步说明,这里是我用来移动行的代码行。

response =smart.Sheets.move_rows(result.data.id,smart.models.CopyOrMoveRowDirective({'row_ids': [**IDK**],'to': smart.models.CopyOrMoveRowDestination({'sheet_id': 1174866712913796})}))

当它提示我输入我试图移动到现有工作表中的行 ID 时,我遇到了我的问题。由于尚未创建导入的工作表,因此我无法引用智能工作表中的行 ID。我的问题是:是否有类似的东西,result.data.id但对于行 ID?还是我可以为 row_ids 输入其他内容来移动工作表中的所有行?

4

1 回答 1

0

如果您想从刚刚导入的工作表中复制所有行,您应该能够使用Copy Rows操作。如文档所示:

  • 您指定id要复制的工作表的名称,以及有关要在其中创建新工作表的容器(例如文件夹)的信息。
  • 您还可以选择包含其他参数,这些参数指定您希望在复制操作中包含哪些类型的内容(例如,附件、讨论、表单等)

这是 Python 中的示例请求:

response = smart.Sheets.copy_sheet(
  4583173393803140,                               # sheet_id
  smartsheet.models.ContainerDestination({
    'destination_type': 'folder',               # folder, workspace, or home
    'destination_id': 9283173393803140,         # folder_id
    'new_name': 'newSheetName'
  })
)

更新(列表行):

由于我现在知道您想将导入的工作表中的所有行复制到另一个已经存在的工作表中,因此我上面描述的复制工作表方法不合适。

相反,在导入工作表后,您可以使用获取工作表操作来获取有关已导入工作表的数据。以下是Python中的Get Sheet操作示例:

sheet = smartsheet_client.Sheets.get_sheet(
  4583173393803140)           # sheet_id

响应将包含(除其他外)一个rows属性,它是一个Row对象数组,表示导入工作表中的所有行。每个Row对象都包含一个id指定行 ID 的属性。

您需要遍历该Row对象数组,将每个id属性的值添加到以逗号分隔的 ID 列表中——这将为您提供“将行移动到另一个工作表”操作所需的 ID 列表。

于 2021-06-18T15:56:38.707 回答