导入XLS/行副本:如何在联系人列中显示联系人姓名?



看到 smartsheet SDK 的 1.3.3 版以及直接从 SDK 导入 XLS 文件的功能(我还没有尝试过(,我开始考虑如何能够实现我的目标,即以最少的请求数量上传非常大的工作表。 (请参阅相关问题:使用 Python SDK 以编程方式构建整个工作表、如何通过 Python SDK 创建项目工作表(

我目前的测试方法是导入一个XLS文件(尽管到目前为止是UI(,该文件格式不正确(尝试使用甘特图和资源管理制作项目工作表(。

使用python SDK,我使用Sheets.copy_rows()方法将行从在 UI 中导入的工作表复制到另一个按照我的项目工作表模板创建的空白工作表。

这似乎工作得很好,除了联系人列,我想在其中显示联系人姓名而不是联系电子邮件地址。

根据 https://smartsheet-platform.github.io/api-docs/?python#contact-list-columns:

创建或更新联系人列表列的单元格时, 显示值属性的工作原理如下:

  • 如果显示值为非空且非空,则智能工作表单元格将显示提供的值。
  • 如果显示值为空字符串,则智能表单元格将显示电子邮件地址。
  • 如果 displayValue 为 null 或不存在,则 Smartsheet 会根据电子邮件使用联系人的姓名进行最佳猜测 地址。

查看我从导入中创建的工作表,我可以看到我的单元格数据为:{"columnId": 7027801426552708, "value": "eleroy@******.com"}

根据上面的文档,由于没有displayValue,我希望副本到联系人列表列中会尝试根据电子邮件地址填充联系人的姓名。

有没有办法强制它在XLS导入时或在复制过程中转换为联系人的姓名?

编辑:

从下面的一些答案可以看出,我想副本会按原样复制数据是有道理的,所以我只能尝试让它在 XLS 导入时填写联系人姓名。

我正在尝试找到一种在Excel中注入显示值和值的方法,但尚未成功。我尝试过超链接,电子邮件链接,=HYPERLINK((公式,但到目前为止还没有成功。

如果您使用电子邮件地址和displayValue作为联系人姓名设置Value,您应该能够获得所需的内容。例如,通用 HTTP 请求的以下正文将在单元格中显示"MyUser Gmail",但myuser@gmail作为联系人电子邮件。

[
{
"toBottom": true, 
"cells": [
{
"columnId": 6xxxxxxxxxxxxxx8, 
"value": "myuser@gmail.com", 
"displayValue": "MyUser Gmail"
}
]
}
]

如果displayValue为空,则表示此单元格的联系人没有与之关联的名称。如果原始工作表包含名称,则故障点很可能在复制过程中。

如果不研究Python SDK,我可能会猜测copy_rows()只是通过value而不是displayValue复制。尝试手动设置联系人单元格的值/显示值,看看是否有效。

最新更新