Импорт копии XLS / строк: Как отобразить имя контакта в столбце контактов? - PullRequest
0 голосов
/ 09 мая 2018

Увидев выпуск 1.3.3 пакета smartsheet SDK и возможность импортировать файлы XLS прямо из SDK (который я еще не пробовал), я начал думать о том, как я смогу достичь своей цели по загрузке очень больших файлов. листы с минимальным количеством запросов. (см. связанные вопросы: Программное построение целого листа с помощью Python SDK , Как создать лист проекта с помощью Python SDK )

Моя текущая методология тестирования заключается в импорте файла XLS (хотя и с пользовательским интерфейсом до сих пор), который имеет неправильный формат (попытка создать лист проекта с представлением Ганта и управлением ресурсами).

Используя python SDK, я использую метод Sheets.copy_rows(), чтобы скопировать строки из листа, который был импортирован в пользовательский интерфейс, на другой пустой лист, созданный по шаблону моего листа проекта.

Кажется, что это работает отлично, за исключением столбца контактов, в котором я хотел бы отображать имя контакта, а не адрес электронной почты контакта.

Согласно https://smartsheet -platform.github.io / api-docs /? Python # contact-list-columns :

При создании или обновлении ячеек для столбца списка контактов Атрибут displayValue работает следующим образом:

  • Если displayValue не является нулевым и не пустым, в ячейке Smartsheet отображается предоставленное значение.
  • Если displayValue - пустая строка, в ячейке Smartsheet отображается адрес электронной почты.
  • Если displayValue равно нулю или отсутствует, Smartsheet прилагает все усилия, чтобы угадать его, указав имя контакта на основе электронного адреса. адрес.

Глядя на лист, который я создал из импорта, я могу видеть данные моей ячейки как: {"columnId": 7027801426552708, "value": "eleroy@******.com"}.

Согласно приведенному выше документу, поскольку displayValue отсутствует, я надеялся, что копия в столбце списка контактов попытается заполнить имя контакта на основе адреса электронной почты.

Есть ли способ заставить его преобразовать имя контакта либо при импорте XLS, либо во время копирования?

Edit:

Как видно из некоторых ответов ниже, я думаю, что имеет смысл, что копия будет копировать данные как есть, поэтому я оставляю попытки заполнить имя контакта при импорте XLS.

Я пытаюсь найти способ ввести как отображаемое значение, так и значение в Excel, но пока не удалось. Я пробовал гиперссылки, ссылки электронной почты, формулу = HYPERLINK (), но пока безуспешно.

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Если displayValue пусто, это означает, что у контакта этой ячейки нет имени, связанного с ним. Если на исходном листе есть имя, скорее всего, в процессе копирования возникла ошибка.

Не заглядывая в Python SDK, я могу предположить, что copy_rows() копирует только value, а не displayValue. Попробуйте вручную установить значение / displayValue ячейки контакта и посмотрите, работает ли это.

0 голосов
/ 09 мая 2018

Если вы установите displayValue с адресом электронной почты и value в качестве имени контакта, вы сможете получить то, что ищете. Например, в следующем теле универсального HTTP-запроса в ячейке будет отображаться «MyUser Gmail», но в качестве контактного электронного письма будет использоваться myuser@gmail.

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