インポートとエクスポート
以下のブラウザー API を使用する前にインポート・エクスポート統合を完了してください。アップロード、変換、タスク照会、認可されたダウンロードの契約をアプリ側で実装します。スナップショット API にも変換バックエンドが必要です。Exchange サンプルは Sheets を対象とするため、他の製品や形式の対応状況は個別に確認してください。
対応形式
以下は本ページのブラウザー API が対応する形式です。Office ファイルの変換には、同じドキュメント種類と形式に対応したバックエンドが必要です。
| インポート | エクスポート |
|---|---|
.xls, .xlsx, .csv, .tsv | .xlsx, .csv, .tsv |
Facade API
インポート
プラグインモード注意
Facade パッケージの手動 import が必要なのはプラグインモードのみです。プリセットモードには対応する Facade パッケージが内蔵されているため、追加の import は不要です。
import '@univerjs-pro/exchange-client/facade'import '@univerjs-pro/sheets-exchange-client/facade'.xlsx インポート
.xlsx ファイルをインポートして unitId を取得
注意
この方法は共同編集が必要です。サーバーにドキュメントを作成し unitId
を返します。共同編集がない場合はスナップショットを使用してください。
共同編集を有効にすると、各ドキュメントには一意の unitId が割り当てられます。univerAPI.importSheetToUnitIdAsync に file パラメーターを渡すと unitId が返され、これを使ってドキュメントにアクセスできます。file には File オブジェクトまたはリモート ファイル URL を指定できます。
import '@univerjs-pro/collaboration-client/facade'const unitId = await univerAPI.importSheetToUnitIdAsync(file)if (unitId) { await univerAPI.getCollaboration().loadSheetAsync(unitId)}.xlsx ファイルをインポートして IWorkbookData を取得
unitId を使用してください。univerAPI.importSheetToSnapshotAsync で .xlsx ファイルをインポートすると、IWorkbookData 形式のドキュメント データが返されます。
// 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 オブジェクトが返されます。
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 オブジェクトが返されます。
const fWorkbook = univerAPI.getActiveWorkbook()const snapshot = fWorkbook.save()const file = await univerAPI.exportSheetBySnapshotAsync(snapshot)// Facade API でファイルをダウンロードif (file) univerAPI.downloadFile(file, 'univer', 'xlsx')このガイドはいかがですか?