Office 檔搬到雲端倉庫後為何無法線上預覽
把 Office 檔搬到純檔案倉庫後只能下載、無法線上預覽,是因為少了 SharePoint 背後的渲染引擎;PDF/圖片照樣預覽因瀏覽器原生支援。含三條救回預覽的路與取捨。
把檔案從 SharePoint 搬到 Azure Blob(雲端純檔案倉庫,只存 bytes)之後,PDF 和圖片還能在網頁裡預覽,但 Office 檔(xlsx/docx/pptx)突然只能下載、無法線上預覽。這是搬家過程一定會撞到的問題。
症狀長什麼樣
搬家前(檔案放 SharePoint):點一個 Excel 檔會直接在網頁內嵌顯示,看得到表格內容。搬家後(檔案放 Blob):同一個 Excel 檔點下去,瀏覽器不顯示、直接跳下載。奇怪的是 PDF 和圖片完全正常。
為什麼會發生
根本差異在「搬家前後那個檔案倉庫背不背 Office 渲染引擎」。
- SharePoint 背後有 Office Online 渲染引擎:它是 Microsoft 365 的一部分。查詢預覽時,微軟的伺服器會在後台把 Office 檔讀出來、渲染成一頁網頁,再回一個檢視器網址塞進網頁裡顯示。
- Azure Blob 只是純檔案倉庫:它只負責存 bytes,沒有任何渲染能力。把 Blob 的檔案連結塞進網頁的內嵌框,瀏覽器收到的是 xlsx 的二進位檔——瀏覽器天生就不會渲染 xlsx(那不是它認得的 HTML/PDF/圖片格式),只能請你下載。
對照組能通就是這個道理:PDF 和圖片是瀏覽器「原生」就會渲染的兩種格式,跟檔案放在哪無關,所以搬到 Blob 後照樣預覽。只有 Office 檔因為要靠外部渲染引擎,才會在搬家後失去線上預覽。
三條把線上預覽救回來的路(含取捨)
要跟 AI 討論怎麼救時,就是在這三條裡選:
- 用微軟免費的 Office Online 檢視器(最省事):把 Blob 的臨時連結交給微軟的公開檢視服務,它會從那個連結把檔案抓去微軟伺服器渲染,再內嵌回網頁——效果就跟以前 SharePoint 一樣。優點:免費、微軟託管、不用自架任何東西。缺點與資安顧慮見「相關條目」那則(把檔案內容送到第三方,涉合規判斷)。
- 後端先把 Office 檔轉成 PDF 再預覽:用轉檔工具把 xlsx 轉成 PDF,再讓瀏覽器預覽 PDF。優點:檔案完全不離開自己的雲端、自主掌控。缺點:要多架一個轉檔元件、無伺服器冷啟動更重、工程量大。
- 前端用函式庫直接渲染:讓瀏覽器端的程式自己解析 xlsx、畫成 HTML 表格。優點:純前端、不必送檔案出去。缺點:通常只支援 xlsx(docx/pptx 不行)、格式還原度低,複雜表格容易走樣。
遇到時該跟 AI 說什麼
- 先確認「這是渲染引擎的問題,不是連結壞掉」——PDF/圖片能預覽、只有 Office 檔不行,就是這個症狀。別叫 AI 去 debug 連結。
- 問 AI「這三條路各自的工程量與資安代價」,再自己做取捨。省事路(第 1 條)牽涉把公司檔案送到第三方,是合規判斷不是純技術,要一併考量。
- 驗收時檢查:xlsx/docx/pptx 三種都要實測,別只測一種。