Экспорт SharePoint в Excel: где на самом деле выполняется обновление
Проследите экспорт SharePoint-Excel через файл запроса, собственный HTTP-запрос Office и сохранённое обновление и выясните, на каком этапе на самом деле произошёл сбой.
Экспорт в Excel создаёт три разных артефакта в зависимости от развёртывания, и ошибка относится ровно к одному из них. Загруженный файл запроса, статический CSV и связанная таблица с обновлением — это не один и тот же результат, и каждый из них сбоит на своём этапе. Знание того, какой артефакт у вас есть, определяет, за какой командой останется следующий шаг: сетевой, командой идентификации или владельцем списка. Механизм ниже отслеживает передачу от браузера к собственному запросу Excel.
Что на самом деле передаёт экспорт
В классических списках SharePoint команда «Экспорт в Excel» загружает небольшой текстовый файл, тело которого является URL, затем Excel читает этот файл и отправляет собственный запрос за стоящими за ним данными. Загруженный файл — это указатель, а не список. Экспорт CSV, напротив, содержит сами строки и не имеет подключения для обновления. Более новая связанная таблица может встроить запрос прямо в книгу, так что в папку «Загрузки» вообще ничего не попадает.
Любая связанная форма односторонняя. Обновление подтягивает текущие строки из списка в книгу, а редактирование таблицы ничего не отправляет обратно. Эта асимметрия важна для диагностики, потому что книга, которая открывается со строками прошлой недели, уже доказала, что файл существует и подключение было сохранено, но ничего не говорит о том, работает ли обновление сегодня.
Значит, первый вопрос не в том, почему экспорт не удался, а в том, какой артефакт ожидал пользователь. Ответ сужает расследование до одного из трёх процессов.
Три процесса, три разные идентичности
Загрузка в браузере использует сеанс браузера с его собственными файлами cookie, настройкой прокси и состоянием входа. Excel при открытии файла использует стек HTTP пакета Office, который обычно следует прокси из «Свойств обозревателя» для отдельного пользователя, а не настройке WinHTTP для всей машины, и который проходит проверку подлинности под той учётной записью Office, которая есть у пользователя. Последующее обновление повторно использует сохранённое подключение и может взять кэшированные учётные данные из «Диспетчера учётных данных» Windows, а не запрашивать их.
Эти три контекста могут не совпадать на одной машине, и поэтому браузер, который открывает список без проблем, и обновление Excel, которое возвращает запрос на вход, — это согласованный результат, а не противоречие. Туннель меняет маршрутизацию машины для всех трёх, но файл автоматической конфигурации прокси всё ещё может отправлять запросы Office в другое место.
Запишите идентичность, используемую на каждом этапе, прежде чем менять любую из них. Исправление, применённое к браузеру, не может исправить запрос, который Excel делает под другой учётной записью.
Прочитайте файл передачи, прежде чем что-либо менять
Загруженный файл — это обычный текст, и обычно он короткий, поэтому прочитайте его первым. В нём указаны хост и конечная точка, которые вызовет Excel, и именно этот хост должен разрешаться и проходить проверку подлинности с машины пользователя, а не обязательно адрес, видимый в адресной строке браузера.
Get-Content "$env:USERPROFILE\Downloads\query.iqy"
Resolve-DnsName team.example.net
netsh winhttp show proxy
Сравните хост в файле с сайтом, с которого пользователь, по его мнению, выполнял экспорт. Перенаправление во время экспорта, старое семейство сайтов или перенесённый список могут оставить указатель на имя, которое больше не обслуживает данные, и возникшая ошибка выглядит как сбой сети. Если имя разрешается и конечная точка отвечает, оставшиеся кандидаты — это проверка подлинности и сам запрос.
Не заменяйте имя хоста IP-адресом, чтобы всё заработало. Это нарушает проверку имени сертификата и скрывает настоящую проблему за обходным решением, которое сломается при следующем продлении сертификата.
Разделите сбои имени, входа и запроса
Четыре исхода покрывают почти каждое обращение, и у каждого свой владелец. Имя, которое не разрешается, относится к DNS. Подключение, которое завершается по тайм-ауту, относится к маршрутизации или прокси. Запрос на вход или ответ 401 относятся к идентичности. Ответ, который приходит, но не разбирается, относится к запросу или к конечной точке, которую список теперь предоставляет.
| What the user sees | Stage that failed |
|---|---|
| Data source could not be found | Name resolution or the pointer in the file |
| Repeated sign-in prompt | Office identity or cached credential |
| Timeout while refreshing | Route, proxy or the VPN path |
| Refresh succeeds, rows look wrong | Query scope or list view, not connectivity |
Последняя строка — та, которую люди диагностируют неверно. Обновление, которое завершается и возвращает не те строки, уже доказало, что каждый сетевой и идентификационный уровень работает, и остаётся вопрос, какое представление или какой фильтр несёт запрос. Отправка такой заявки сетевой команде тратит день впустую.
Сохраните точный текст ошибки и время первого сбоя. Именно он определяет, в какой строке таблицы вы находитесь, и это единственное доказательство, на которое владелец списка может опереться.
Повторно проверьте обновление на том же списке
Определив сбойный этап, повторите ту операцию, которая не удалась, а не более дешёвую. Обновите тот же список из предполагаемой среды Excel, с ожидаемой учётной записью и одобренным сетевым путём, и подтвердите, что число строк или известное изменённое значение действительно обновляется. Открытие сохранённой книги ничего не доказывает о подключении.
Сопротивляйтесь широким починкам: удаление всех сохранённых учётных данных, запуск Office с повышенными правами или отключение функции безопасности может изменить симптом, не исправив этап. Если проверка подлинности — это сбойный уровень, попросите владельца списка подтвердить учётную запись и поддерживаемый поток входа вместо догадок на клиенте.
Предлагайте CSV только тогда, когда отключённый снимок удовлетворяет задаче и такой экспорт поддерживается в среде. Смена выходного формата меняет рабочий процесс и не объясняет, почему связанная операция перестала работать.