You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Smartsheet API:如何无需指定列ID等参数复制工作表内容至新空白表?

Smartsheet API 复制内容到空白工作表解决方案

核心简化方案:用内置复制接口自动映射ID

不用手动匹配行列ID,直接借助Smartsheet API的工作表复制功能,一步搞定结构和数据的迁移,自动处理列ID、行层级(parent_id)的映射问题。

具体操作步骤

1. 复制源表指定内容到新表

调用POST /sheets/{sheetId}/copy接口,精准复制需要的行和列结构:

  • 请求体示例:
{
  "destinationType": "sheet",
  "newSheetName": "目标表名称",
  "include": ["columnIds", "rowIds"],
  "rowIds": [1001, 1002, 1003] // 替换为你需要复制的源表行ID列表
}

这个接口会自动把源表的列结构、指定行的内容和层级关系同步到新表,新表的列ID、行ID及parent_id会自动生成并匹配,完全不需要手动替换。

2. 清理冗余内容(可选)

如果只需要部分列,复制完成后调用DELETE /sheets/{newSheetId}/columns删除多余列;若有不需要的行,用DELETE /sheets/{newSheetId}/rows批量删除即可。

解决你之前的手动匹配问题

你替换column_id后出现parent_id不匹配,是因为源表的parent_id对应源表的行ID,直接复制到新表自然无效。而用工作表复制接口时,Smartsheet会自动将源表的行层级关系映射到新表的行ID,彻底规避这个问题。

备选方案:手动创建列+批量插行(适合自定义结构场景)

如果必须从完全空白的表开始:

  • 先调用GET /sheets/{sourceSheetId}/columns获取源表列的title、type、format等核心属性,去掉id字段后,调用POST /sheets/{newSheetId}/columns批量创建列。
  • 再调用GET /sheets/{sourceSheetId}/rows获取源表行数据,提取每个单元格的columnTitle和value,通过列标题匹配新表的列ID替换;处理行层级时,先插入父行并记录新生成的行ID,再插入子行时用新的父行ID作为parentId。

内容的提问来源于stack exchange,提问作者NBirb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 21:52:07