# ファイル交換の統合

> 共同編集の有無にかかわらず、Univer アプリケーションにファイルの入出力を追加します。

- Human documentation: [https://docs.univer.ai/ja-JP/server/import-export](https://docs.univer.ai/ja-JP/server/import-export)

- Agent Markdown: [https://docs.univer.ai/ja-JP/server/import-export.md](https://docs.univer.ai/ja-JP/server/import-export.md)

- Requested language: `ja-JP`

- Content language: `ja-JP`

- Documentation version: `1.1.0`

- Source: [import-export/index.ja-JP.mdx](https://github.com/dream-num/documentation/blob/dev/content/server/import-export/index.ja-JP.mdx)

---

Excel を Univer で開くには、エディターが読めるデータへ変換します。出力時は編集後のデータを Excel に戻します。サーバーの `@univerjs-pro/exchange-node` が変換し、ブラウザーはアップロード、表示、結果のダウンロードを行います。

```mermaid
flowchart LR; A["Excel ファイル"] -->|サーバーで取り込み| B["Univer ドキュメント<br/>ブラウザーで編集"]; B -->|サーバーで出力| C["Excel ファイル"];
```

## 共同編集を使わない場合

例えば Excel をアップロードし、ページ上で編集して Excel としてダウンロードします。

1. ブラウザーがファイルを送り、サーバーが Univer データに変換して返します。
2. ブラウザーがそのデータでスプレッドシートを開き、編集可能にします。
3. 出力時は編集後のデータをサーバーに送り、ダウンロード用 Excel を生成します。

この処理に共同編集サービスは不要です。ブラウザー API の「スナップショット」がここで扱うデータです。スナップショットの入出力にもサーバー変換は必要です。作業を保存して後で再開するには、アプリケーション側でそのデータも保存してください。

変換モジュールの導入と利用は [Office ファイルの入出力](https://docs.univer.ai/ja-JP/server/import-export/node.md)を参照してください。Node.js でファイルを処理するだけの場合も同じページから始めます。

## 共同編集を使う場合

例えば Excel を取り込み、同僚と共有して共同編集し、後で出力します。

1. サーバーがファイルを変換し、結果を共同編集ドキュメントとして保存します。
2. サーバーが ID を返し、ブラウザーが読み込みます。他のユーザーも同じ ID で参加します。
3. 出力時は最新の内容を読み、ダウンロード用 Excel を生成します。

ブラウザー API の `unitId` がこの ID です。[共同編集の統合](https://docs.univer.ai/ja-JP/server/collaboration/browser-integration.md)を終えてから [Exchange の例](https://docs.univer.ai/ja-JP/server/collaboration/examples.md#exchange)を実行し、ブラウザー、サーバー、変換コードを合わせて確認してください。

出力前に現在の編集の同期を待たないと、最新の変更が欠落する場合があります。共同編集ドキュメントの取得と変換は[拡張モジュール](https://docs.univer.ai/ja-JP/server/collaboration/extensions.md)のサーバー側 Office Exchange を参照してください。

## 入出力ボタンの接続

サーバー変換が動作したらページへ接続します。

* **Univer メニューまたは Facade API：** [Exchange の例](https://docs.univer.ai/ja-JP/server/collaboration/examples.md#exchange)に従いアップロード、変換、タスク照会、ダウンロードの API を実装し、ブラウザープラグインを設定します。アドレスとレスポンス形式を一致させてください。
* **独自ボタン：** アプリケーション API を呼びます。取り込み後は返されたデータまたは ID を開き、出力後は生成ファイルをダウンロードします。

ブラウザー設定は [Sheets](https://docs.univer.ai/ja-JP/guides/sheets/features/import-export.md)、[Docs](https://docs.univer.ai/ja-JP/guides/docs/features/import-export.md)、[Slides](https://docs.univer.ai/ja-JP/guides/slides/features/import-export.md)、[Boards](https://docs.univer.ai/ja-JP/guides/boards/features/import-export.md)、[Bases](https://docs.univer.ai/ja-JP/guides/bases/features/import-export.md)、[PDFs](https://docs.univer.ai/ja-JP/guides/pdfs/features/import-export.md) を参照してください。共同編集例は Sheets を扱います。他製品は [Office ファイルの入出力](https://docs.univer.ai/ja-JP/server/import-export/node.md)と対象リリースの対応形式を確認してください。

## 統合の検証

実際の業務ファイルを取り込み、編集して出力します。Office アプリケーションで開き、変更、数式、画像、レイアウトを確認してください。共同編集では他のユーザーも同じドキュメントを開けることと、サーバー再起動後の保持も検証します。

配置前にサンプルの一時ファイルとメモリ上のタスクをアプリケーションのストレージに置き換え、容量制限、変換失敗、タイムアウトを処理してください。アップロード、タスク照会、ダウンロードにはアクセス検証が必要です。[ID と認可](https://docs.univer.ai/ja-JP/server/collaboration/identity-and-authorization.md)を参照してください。
