有没有一种使用api编辑交叉表引用的方法?

时间:2019-07-03 16:09:48

标签: python-3.x smartsheet-api smartsheet-api-2.0

开发工作流程,每天将新的电子表格上传到工作区。第二个跟踪表使用交叉表引用来填充几列。我正在尝试使上传过程自动化,如果我能够编辑现有的交叉表引用,则可以将其指向新表,而不是用新引用填充单元格。 鉴于该应用程序中的引用编辑器能够更改要引用的工作表和范围,因此对我来说,api也将有某种方式可以执行此操作。我在http://smartsheet-platform.github.io/api-docs/处阅读了文档,但没有发现任何可以编辑参考的内容。 我希望我缺少明显的东西。

我能够使用文档中提供的代码来获取引用列表并检索特定的引用。 我还可以根据需要更改给定行中的单元格,但这增加了我要避免的复杂程度。

这是我用来检索和添加交叉表引用的代码

Wrksps = get_workspace_list()

for space in Wrksps:
    if space.name == 'QC':
        qc_space = space

QC_sheets = get_sheet_list(qc_space.id,'w')

for sheet in QC_sheets:
    if sheet.name == 'QC Active Issues':
        active_sheet = sheet

active_sheet = get_object(active_sheet.id, 's')

issue_sheet = get_object(Referenced sheet ID, 's')

for col in issue_sheet.columns:
    if col.title == 'Work Order ID':
        WO_col = col
    if col.title == 'Unstartable':
        last_col = col

xref = smartsheet.models.CrossSheetReference({
    'name': 'Sample Time Log Sheet Range 1',
    'source_sheet_id': Referenced sheet ID,
    'start_row_id': ROW ID,
    'end_row_id': ROW ID
    'start_column_id': start_col.id,
    'end_column_id': last_col.id
})

result = smart_sheet_client.Sheets.create_cross_sheet_reference(active_sheet.id, xref)

print(result)

result = smart_sheet_client.Sheets.list_cross_sheet_references(active_sheet.id)

1 个答案:

答案 0 :(得分:1)

为您的工作创建这种自动化真是太棒了!我们尚无法通过Smartsheet API编辑交叉表引用。现在,只能创建它们并获取给定图纸的当前交叉图纸引用。
要解决此问题,您可以在同一单元中的工作表上创建一个新的交叉工作表引用。工作表上未使用的交叉工作表参考会在两个小时后自动从工作表中删除。或者,您可以使用新数据更新引用的工作表上的单元格。
我可以介绍您的用例以及您打算如何编辑现有参考。