Xuất SharePoint sang Excel: quá trình làm mới thực sự chạy ở đâu
Theo dõi một lần xuất SharePoint-Excel qua tệp truy vấn, yêu cầu HTTP riêng của Office và bản làm mới đã lưu, rồi xác định chính xác giai đoạn nào đã thất bại.
Xuất sang Excel tạo ra ba hiện vật khác nhau tùy theo cách triển khai, và lỗi thuộc về đúng một trong số đó. Một tệp truy vấn được tải xuống, một CSV tĩnh và một bảng được kết nối có thể làm mới không phải là cùng một kết quả, và mỗi loại thất bại ở một giai đoạn khác nhau. Biết mình có hiện vật nào sẽ quyết định bước tiếp theo thuộc về nhóm mạng, nhóm danh tính hay chủ sở hữu danh sách. Cơ chế dưới đây theo dõi việc bàn giao từ trình duyệt đến yêu cầu riêng của Excel.
Quá trình xuất thực sự bàn giao điều gì
Trên các danh sách SharePoint cổ điển, Xuất sang Excel tải xuống một tệp văn bản nhỏ có nội dung là một URL, sau đó Excel đọc tệp đó và gửi yêu cầu riêng của mình cho dữ liệu nằm phía sau. Tệp được tải xuống là một con trỏ, không phải danh sách. Ngược lại, bản xuất CSV chứa chính các hàng và không có kết nối để làm mới. Một bảng được kết nối mới hơn có thể nhúng truy vấn trực tiếp vào sổ làm việc, nên không có gì rơi vào thư mục Tải xuống cả.
Mọi dạng được kết nối đều một chiều. Việc làm mới kéo các hàng hiện tại từ danh sách vào sổ làm việc, và việc sửa bảng không gửi gì trở lại. Sự bất đối xứng đó quan trọng cho việc chẩn đoán, vì một sổ làm việc mở ra với các hàng của tuần trước đã chứng minh rằng tệp tồn tại và kết nối đã được lưu, nhưng không nói gì về việc làm mới có hoạt động hôm nay hay không.
Vì vậy câu hỏi đầu tiên không phải là tại sao quá trình xuất thất bại mà là hiện vật nào người dùng mong đợi. Câu trả lời thu hẹp cuộc điều tra vào một trong ba quy trình.
Ba quy trình, ba danh tính khác nhau
Bản tải xuống trong trình duyệt dùng phiên của trình duyệt, với cookie, cấu hình proxy và trạng thái đăng nhập riêng. Excel khi mở tệp dùng ngăn xếp HTTP của Office, thường tuân theo proxy trong Tùy chọn Internet của từng người dùng thay vì cài đặt WinHTTP toàn máy, và xác thực bằng bất kỳ danh tính Office nào mà người dùng có. Một lần làm mới sau đó dùng lại kết nối đã lưu và có thể lấy thông tin đăng nhập trong bộ nhớ đệm từ Trình quản lý thông tin đăng nhập của Windows thay vì hỏi.
Ba ngữ cảnh đó có thể không đồng ý với nhau trên cùng một máy, và đó là lý do một trình duyệt mở danh sách bình thường và một lần làm mới Excel trả về lời nhắc đăng nhập là kết quả nhất quán chứ không phải mâu thuẫn. Đường hầm thay đổi định tuyến của máy cho cả ba, nhưng một tệp cấu hình tự động của proxy vẫn có thể gửi yêu cầu Office đi nơi khác.
Ghi lại danh tính được dùng ở từng giai đoạn trước khi thay đổi bất kỳ danh tính nào. Một bản sửa áp dụng cho trình duyệt không thể sửa một yêu cầu mà Excel thực hiện dưới tài khoản khác.
Đọc tệp bàn giao trước khi thay đổi bất cứ điều gì
Tệp được tải xuống là văn bản thuần và thường ngắn, nên hãy đọc nó trước. Tệp nêu tên máy chủ và điểm cuối mà Excel sẽ gọi, và chính máy chủ đó phải được phân giải và xác thực từ máy của người dùng, không nhất thiết là địa chỉ hiển thị trên thanh địa chỉ của trình duyệt.
Get-Content "$env:USERPROFILE\Downloads\query.iqy"
Resolve-DnsName team.example.net
netsh winhttp show proxy
So sánh máy chủ trong tệp với trang mà người dùng cho rằng mình đã xuất từ đó. Một chuyển hướng trong lúc xuất, một bộ sưu tập trang cũ hoặc một danh sách đã di trú có thể để lại một con trỏ tới cái tên không còn phục vụ dữ liệu nữa, và lỗi phát sinh trông giống như sự cố mạng. Nếu tên phân giải được và điểm cuối trả lời, các ứng viên còn lại là xác thực và chính truy vấn.
Đừng thay tên máy chủ bằng địa chỉ IP để nó hoạt động. Điều đó phá vỡ việc kiểm tra tên của chứng chỉ và che giấu vấn đề thật phía sau một cách lách sẽ thất bại ở lần gia hạn chứng chỉ tiếp theo.
Tách biệt lỗi tên, lỗi đăng nhập và lỗi truy vấn
Bốn kết quả bao phủ gần như mọi báo cáo, và mỗi kết quả có một chủ sở hữu khác nhau. Một cái tên không phân giải được thuộc về DNS. Một kết nối hết thời gian thuộc về định tuyến hoặc proxy. Một lời nhắc đăng nhập hoặc mã 401 thuộc về danh tính. Một phản hồi đến nhưng không phân tích được thuộc về truy vấn hoặc điểm cuối mà danh sách hiện đang cung cấp.
| 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 |
Hàng cuối là hàng mà mọi người chẩn đoán sai. Một lần làm mới hoàn tất và trả về sai hàng đã chứng minh rằng mọi lớp mạng và danh tính đều hoạt động, và câu hỏi còn lại là truy vấn mang theo khung nhìn hay bộ lọc nào. Gửi phiếu đó cho nhóm mạng là lãng phí một ngày.
Giữ nguyên văn bản lỗi chính xác và thời điểm của lần thất bại đầu tiên. Nó quyết định bạn đang ở hàng nào của bảng, và đó là bằng chứng duy nhất mà chủ sở hữu danh sách có thể hành động dựa trên.
Kiểm tra lại việc làm mới trên cùng danh sách
Sau khi xác định được giai đoạn thất bại, hãy lặp lại thao tác đã thất bại chứ không phải một thao tác rẻ hơn. Làm mới cùng danh sách từ môi trường Excel dự kiến, với tài khoản mong đợi và đường mạng đã được phê duyệt, rồi xác nhận rằng số hàng hoặc một giá trị đã thay đổi được biết thực sự cập nhật. Mở một sổ làm việc đã lưu không chứng minh được gì về kết nối.
Hãy chống lại các biện pháp sửa rộng: xóa toàn bộ thông tin đăng nhập đã lưu, chạy Office với quyền nâng cao hoặc tắt một tính năng bảo mật có thể thay đổi triệu chứng mà không sửa được giai đoạn. Nếu xác thực là lớp thất bại, hãy đề nghị chủ sở hữu danh sách xác nhận tài khoản và luồng đăng nhập được hỗ trợ thay vì đoán trên máy khách.
Chỉ đề nghị CSV khi một ảnh chụp ngắt kết nối đáp ứng được công việc và bản xuất đó được hỗ trợ cho môi trường. Thay đổi định dạng đầu ra sẽ thay đổi quy trình làm việc và không giải thích tại sao thao tác được kết nối ngừng hoạt động.