# @univerjs-pro/bases-exchange-client

- Human documentation: [https://docs.univer.ai/reference/packages/plugins/univerjs-pro/bases-exchange-client](https://docs.univer.ai/reference/packages/plugins/univerjs-pro/bases-exchange-client)

- Agent Markdown: [https://docs.univer.ai/reference/packages/plugins/univerjs-pro/bases-exchange-client.md](https://docs.univer.ai/reference/packages/plugins/univerjs-pro/bases-exchange-client.md)

- Requested language: `en-US`

- Content language: `en-US`

- Documentation version: `1.0.0-rc.0`

- Source: [packages/plugins/univerjs-pro/bases-exchange-client.mdx](https://github.com/dream-num/documentation/blob/dev/content/reference/packages/plugins/univerjs-pro/bases-exchange-client.mdx)

---

Base import and export client integration for Web SDK.

```typescript
import { UniverBasesExchangeClientPlugin } from '@univerjs-pro/bases-exchange-client'
import {
  ExchangeBaseExportMode,
  ExchangeBaseFormulaPolicy,
  ExchangeBaseImportMode,
} from '@univerjs-pro/exchange-client'

import '@univerjs-pro/bases-exchange-client/lib/index.css'

univer.registerPlugin(UniverBasesExchangeClientPlugin, {
  importSourceMode: ExchangeBaseImportMode.AUTO,
  importFormulaPolicy: ExchangeBaseFormulaPolicy.CONVERT_THEN_VALUES,
  exportStructureMode: ExchangeBaseExportMode.TABLES,
  exportFormulaPolicy: ExchangeBaseFormulaPolicy.FAIL,
})
```

## IUniverBasesExchangeClientConfig

```ts
export interface IUniverBasesExchangeClientConfig {
  menu?: MenuConfig
  importSourceMode?: ExchangeBaseImportMode
  importFormulaPolicy?: ExchangeBaseFormulaPolicy
  exportStructureMode?: ExchangeBaseExportMode
  exportFormulaPolicy?: ExchangeBaseFormulaPolicy
}
```

## Entry Points

* Facade: `@univerjs-pro/bases-exchange-client/facade`
* Locale: `@univerjs-pro/bases-exchange-client/locale/*`
* Style: `@univerjs-pro/bases-exchange-client/lib/index.css`

## Facade API

```typescript
import '@univerjs-pro/bases-exchange-client/facade'

importBaseToUnitIdAsync(file: File | string): Promise<string | undefined>
importBaseToSnapshotAsync(file: File | string): Promise<IBaseSnapshot | undefined>
exportBaseByUnitIdAsync(unitId: string, format?: ExchangeFormat, tableId?: string): Promise<File | undefined>
exportBaseBySnapshotAsync(snapshot: IBaseSnapshot, format?: ExchangeFormat, tableId?: string): Promise<File | undefined>
transformSnapshotJsonToBaseDataAsync(json: ISnapshotBlockJsonResponse): Promise<IBaseSnapshot>
transformBaseDataToSnapshotJsonAsync(baseData: IBaseSnapshot): Promise<ISnapshotBlockJson>
```
