我当前正试图将行从我导入的工作表移动到另一个现有工作表中。截至目前,我正在使用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。我的问题是:除了行ID之外,还有类似于result.data.id
的东西吗?或者,我可以为row_id输入其他内容来移动工作表中的所有行吗?
如果您想要从刚刚导入的工作表中复制所有行,您应该能够使用"复制行"操作。如文件所示:
- 指定要复制的工作表的
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'
})
)
UPDATE(列出行(:
由于我现在了解到您希望将导入的工作表中的所有行复制到另一个已经存在的工作表中,所以我上面描述的复制工作表方法是不合适的。
相反,在导入图纸后,可以使用"获取图纸"操作来获取有关已导入图纸的数据。以下是Python中Get-Sheet操作的示例:
sheet = smartsheet_client.Sheets.get_sheet(
4583173393803140) # sheet_id
响应将包含(除其他外(rows
属性,该属性是Row
对象的数组,表示导入工作表中的所有行。每个Row对象都包含一个id
属性,用于指定行的ID。
您需要遍历Row
对象的数组,将每个id
属性的值添加到以逗号分隔的ID列表中——这将为您提供将行移动到另一张表操作所需的ID列表。