Eksport SharePoint do Excel: gdzie naprawdę uruchamia się odświeżanie
Prześledź eksport SharePoint-Excel przez plik zapytania, własne żądanie HTTP pakietu Office i zapisane odświeżanie, i ustal, który etap naprawdę zawiódł.
Eksport do Excel tworzy trzy różne artefakty w zależności od wdrożenia, a błąd należy dokładnie do jednego z nich. Pobrany plik zapytania, statyczny CSV i połączona tabela, która się odświeża, to nie ten sam wynik, a każdy z nich zawodzi na innym etapie. Wiedza o tym, który artefakt masz, decyduje, czy następny krok należy do zespołu sieciowego, zespołu tożsamości czy właściciela listy. Opisany poniżej mechanizm śledzi przekazanie z przeglądarki do własnego żądania Excela.
Co eksport naprawdę przekazuje
W klasycznych listach SharePoint opcja Eksportuj do Excel pobiera mały plik tekstowy, którego treścią jest URL, a następnie Excel odczytuje ten plik i wysyła własne żądanie danych, które się za nim kryją. Pobrany plik jest wskaźnikiem, a nie listą. Eksport CSV natomiast zawiera same wiersze i nie ma połączenia do odświeżania. Nowsza połączona tabela może osadzić zapytanie bezpośrednio w skoroszycie, więc nic nie trafia do folderu Pobrane.
Każda połączona forma jest jednokierunkowa. Odświeżanie pobiera bieżące wiersze z listy do skoroszytu, a edycja tabeli nic nie odsyła. Ta asymetria ma znaczenie dla diagnozy, ponieważ skoroszyt, który otwiera się z wierszami z zeszłego tygodnia, już dowiódł, że plik istnieje i połączenie zostało zapisane, ale nic nie mówi o tym, czy odświeżanie działa dziś.
Pierwsze pytanie nie brzmi więc, dlaczego eksport zawiódł, ale jakiego artefaktu oczekiwał użytkownik. Odpowiedź zawęża dochodzenie do jednego z trzech procesów.
Trzy procesy, trzy różne tożsamości
Pobieranie w przeglądarce korzysta z sesji przeglądarki, z jej własnymi plikami cookie, konfiguracją serwera proxy i stanem logowania. Excel otwierający plik korzysta ze stosu HTTP pakietu Office, który zazwyczaj podąża za serwerem proxy z Opcji internetowych dla użytkownika, a nie za ustawieniem WinHTTP dla całej maszyny, i uwierzytelnia się dowolną tożsamością Office, którą ma użytkownik. Późniejsze odświeżanie ponownie używa zapisanego połączenia i może pobrać buforowane poświadczenia z Menedżera poświadczeń systemu Windows zamiast pytać.
Te trzy konteksty mogą się nie zgadzać na jednej maszynie, dlatego przeglądarka, która bez problemu otwiera listę, i odświeżanie Excela, które zwraca prośbę o zalogowanie, to spójny wynik, a nie sprzeczność. Tunel zmienia trasowanie maszyny dla wszystkich trzech, ale plik automatycznej konfiguracji serwera proxy nadal może wysyłać żądania pakietu Office gdzie indziej.
Zapisz tożsamość używaną na każdym etapie, zanim zmienisz którąkolwiek z nich. Poprawka zastosowana w przeglądarce nie naprawi żądania, które Excel wykonuje na innym koncie.
Przeczytaj plik przekazania, zanim cokolwiek zmienisz
Pobrany plik to zwykły tekst i zwykle jest krótki, więc przeczytaj go najpierw. Wymienia hosta i punkt końcowy, które wywoła Excel, a tym hostem jest ten, który musi zostać rozwiązany i uwierzytelniony z maszyny użytkownika, a niekoniecznie adres widoczny na pasku adresu przeglądarki.
Get-Content "$env:USERPROFILE\Downloads\query.iqy"
Resolve-DnsName team.example.net
netsh winhttp show proxy
Porównaj hosta z pliku z witryną, z której użytkownik uważa, że eksportował. Przekierowanie podczas eksportu, stara kolekcja witryn lub zmigrowana lista mogą pozostawić wskaźnik do nazwy, która nie obsługuje już danych, a wynikający z tego błąd wygląda jak awaria sieci. Jeśli nazwa się rozwiązuje, a punkt końcowy odpowiada, pozostałymi kandydatami są uwierzytelnianie i samo zapytanie.
Nie zastępuj nazwy hosta adresem IP, aby to działało. To łamie sprawdzanie nazwy certyfikatu i ukrywa prawdziwy problem za obejściem, które zawodzi przy następnym odnowieniu certyfikatu.
Rozdziel awarie nazwy, logowania i zapytania
Cztery wyniki obejmują prawie każde zgłoszenie, a każdy ma innego właściciela. Nazwa, której nie można rozwiązać, należy do DNS. Połączenie, które przekracza limit czasu, należy do trasowania lub serwera proxy. Prośba o zalogowanie lub 401 należy do tożsamości. Odpowiedź, która dociera, ale nie można jej przeanalizować, należy do zapytania lub punktu końcowego, który lista teraz udostępnia.
| 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 |
Ostatni wiersz to ten, który ludzie diagnozują źle. Odświeżanie, które się kończy i zwraca niewłaściwe wiersze, już dowiodło, że każda warstwa sieci i tożsamości działa, a pozostałe pytanie brzmi, jaki widok lub filtr niesie zapytanie. Wysłanie tego zgłoszenia do zespołu sieciowego marnuje dzień.
Zachowaj dokładny tekst błędu i czas pierwszego niepowodzenia. To on decyduje, w którym wierszu tabeli się znajdujesz, i jest jedynym dowodem, na którym właściciel listy może działać.
Przetestuj odświeżanie ponownie na tej samej liście
Gdy zawodny etap zostanie zidentyfikowany, powtórz operację, która zawiodła, a nie tańszą. Odśwież tę samą listę z zamierzonego środowiska Excel, z oczekiwanym kontem i zatwierdzoną ścieżką sieciową, i potwierdź, że liczba wierszy lub znana zmieniona wartość rzeczywiście się aktualizuje. Otwarcie zapisanego skoroszytu niczego nie dowodzi o połączeniu.
Oprzyj się szerokim naprawom: wyczyszczenie wszystkich zapisanych poświadczeń, uruchomienie pakietu Office z podwyższonymi uprawnieniami lub wyłączenie funkcji zabezpieczeń może zmienić objaw bez naprawienia etapu. Jeśli uwierzytelnianie jest zawodną warstwą, poproś właściciela listy o potwierdzenie konta i obsługiwanego przepływu logowania, zamiast zgadywać po stronie klienta.
Oferuj CSV tylko wtedy, gdy odłączona migawka spełnia zadanie i ten eksport jest obsługiwany w danym środowisku. Zmiana formatu wyjściowego zmienia przepływ pracy i nie wyjaśnia, dlaczego połączona operacja przestała działać.