Описание: Импортировать строки Excel-файла (данные из ранее загруженного на портал как файлфайла-вложение) вложения в список. Метод — единая точка входа для нескольких форматов: конкретный обработчик (провайдер импорта) выбирается автоматически по расширению файла. На данный момент есть два провайдера:
- Excel (
.xlsx) — построчный импорт/обновление элементов списка (см. ниже). ПараметрparentIdэтим провайдером не используется. - MPXJ (
.mpp,.mpt,.mpx,.mpd,.xml,.xer,.pmxml— файлы MS Project и Primavera) — импорт иерархии задач проекта в дерево элементов списка, с использованиемparentIdкак точки вставки (см. ниже).
как новые или обновляемые элементы. Строки сопоставляются с элементами списка по столбцу id: если id пуст — создаётся новый элемент, если заполнен — обновляется существующий. Метод возвращает элемент файла-отчёта с результатом построчной/потасковой обработки (какие строки что успешно импортированыимпортировано, какие что — с ошибкой и почему).
...
🌐 HTTP-информация
- Метод:
POST - URL:
/import/api/excelfile/Import/{listId}/{contentTypeIdparentId}/{fileId} - Headers:
Authorization: <UserSessionToken>
...
| Параметр | Тип | Описание |
|---|---|---|
listId | Guid | ID списка, в который импортируются данные. |
contentTypeIdparentId | GuidПрисутствует | в шаблоне маршрута, но текущей реализацией контроллера не используется (тип содержимого определяется по колонке файла, ID родительского элемента, относительно которого выполняется импорт. Смысл зависит от провайдера — см. ниже). Значение можно передать любым, например 00000000-0000-0000-0000-000000000000. |
fileId | Guid | ID ранее загруженного файла-вложения (Excel), из которого выполняется импорт. |
📦 Тело запроса (Request Body)
Метод не принимает тела запроса.
...
Провайдер Excel: parentId не используется — можно передавать любое значение, например 00000000-0000-0000-0000-000000000000 или такое же значение, как в listId. Тип содержимого для новых строк определяется
...
по колонке content_type_id
...
внутри самого
...
файла;
...
строки сопоставляются с элементами списка по колонке id (если пусто — создаётся новый элемент, если заполнено — обновляется существующий).
Провайдер MPXJ: parentId определяет точку вставки импортируемых задач в дерево списка:
- Если
parentId == listId— импортируется вся структура задач проекта как корневой уровень списка. - Если
parentId— ID уже существующего в списке элемента-задачи (созданного при более раннем импорте того же файла, хранящего исходный идентификатор задачи проекта) — импортируется только соответствующее ему поддерево задач из файла (сама задача и её потомки), то есть возможен частичный повторный импорт отдельной ветки WBS.
...
📦 Тело запроса (Request Body)
Метод не принимает тела запроса.
...
📤 Тело ответа (Response Body)
IItem — элемент файла-отчёта об импорте (созданный на основе исходного файла или в дополнение к нему, с добавленной колонкой результата результатом по каждой строке/задаче: успех / текст ошибки, а для новых строк элементов — присвоенный id). Сам отчёт нужно дополнительно скачать как файл (см. группу "Файлы и документы", будет описана отдельно).