匯入匯出

使用下方瀏覽器 API 前,請先完成匯入匯出整合。應用程式需要實作與用戶端匹配的上傳、轉換、任務查詢和受權限保護的下載契約。快照 API 仍需要轉換後端,只是不要求持久化協同 Unit。Exchange 範例示範 Sheets;其他產品和格式需核對目標版本的支援範圍。

支援的格式

下表列出本頁前端 API 支援的格式。Office 檔案轉換還需要後端支援對應的文件類型和格式。

匯入匯出
.xls, .xlsx, .csv, .tsv.xlsx, .csv, .tsv

Facade API

匯入

外掛模式提示

僅外掛模式需要手動引入 Facade 套件。預設模式已內建對應的 Facade 套件,無需額外引入。

TypeScript
import '@univerjs-pro/exchange-client/facade'import '@univerjs-pro/sheets-exchange-client/facade'

匯入 .xlsx

匯入 .xlsx 檔案並獲取 unitId

注意事項

此方法依賴協同服務:匯入後會在服務端建立文件並回傳 unitId。若未啟用協同,請使用快照匯入。

在啟用協同編輯的時候,每個文件都有一個唯一的 unitId。使用 univerAPI.importSheetToUnitIdAsync 傳入 file 參數會返回 unitId,可以透過 unitId 來訪問文件。 file 參數可以是一個 File 物件,也可以是遠端檔案的 URL。

TypeScript
import '@univerjs-pro/collaboration-client/facade'const unitId = await univerAPI.importSheetToUnitIdAsync(file)if (unitId) {  await univerAPI.getCollaboration().loadSheetAsync(unitId)}

匯入 .xlsx 檔案並獲取 IWorkbookData

使用 univerAPI.importSheetToSnapshotAsync 匯入 .xlsx 檔案,會返回 IWorkbookData 格式的文件資料。

TypeScript
// 接受 File 物件const snapshot = await univerAPI.importSheetToSnapshotAsync(file)// 或者接受遠端檔案的 URL// const snapshot = await univerAPI.importSheetToSnapshotAsync('https://example.com/filename.xlsx');// 透過快照建立一個新的工作簿if (snapshot) univerAPI.createWorkbook(snapshot)

匯出 .xlsx

透過 unitId 匯出 .xlsx 檔案

注意事項

unitId 匯出依賴協同服務。若未啟用協同,請使用快照匯出。

在啟用協同編輯的時候,每個文件都有一個唯一的 unitId。使用 univerAPI.exportSheetByUnitIdAsync 傳入 unitId 參數會返回 File 物件。

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const unitId = fWorkbook.getId()const file = await univerAPI.exportSheetByUnitIdAsync(unitId)// 透過 Facade API 下載檔案if (file) univerAPI.downloadFile(file, 'univer', 'xlsx')

透過 IWorkbookData 匯出 .xlsx 檔案

快照匯出不依賴協同服務,適合僅在本機處理資料的場景。

使用 univerAPI.exportSheetBySnapshotAsync 傳入 IWorkbookData 會返回 File 物件。

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const snapshot = fWorkbook.save()const file = await univerAPI.exportSheetBySnapshotAsync(snapshot)// 透過 Facade API 下載檔案if (file) univerAPI.downloadFile(file, 'univer', 'xlsx')

移除內建匯入匯出選單和 UI 互動

Univer 移除了內建的匯入匯出選單和 UI 互動,底層服務及 Facade API 繼續保留。

如果你的應用程式需要保留原有的匯入匯出選單和 UI 互動,可以參考內建匯入匯出選單和 UI 互動遷移方案,透過自訂外掛完成遷移。範例提供完整原始碼,支援線上檢視和下載。

你覺得這篇文檔如何?

© 2026 DreamNum Co., Ltd.