Univer Sheets API
Univer Sheets は プロフェッショナル グレード の スプレッドシート 機能を提供し、Microsoft Excel と可能な限り一貫性のある概念で設計されています。
インポート
import '@univerjs/sheets/facade'import '@univerjs/sheets-ui/facade'ワークブック
ワークブックは複数のワークシートを含み、Excel ファイルとして考えることができます。
unitId はワークブックの一意識別子として使用できます。
ワークブックの作成
univerAPI.createWorkbook(data, options) メソッドは FWorkbook オブジェクトを作成して返します。
IWorkbookData はワークブックの設定情報を含むオブジェクトです。
const fWorkbook = univerAPI.createWorkbook({ id: 'Sheet1', name: 'Sheet1' })console.log(fWorkbook)オプションを設定することで、ワークブックをアクティブなワークブックとして設定しないようにできます:
const fWorkbook = univerAPI.createWorkbook({ id: 'Sheet1', name: 'Sheet1' }, { makeCurrent: false })console.log(fWorkbook)// 3 秒後にこのワークブックに切り替えたい場合setTimeout(() => { univerAPI.setCurrent(fWorkbook.getId())}, 3000)ワークブックデータの取得
const fWorkbook = univerAPI.getActiveWorkbook()const snapshot = fWorkbook.save()console.log(snapshot)ワークブックのアンロード
Workbook が不要になった場合、API インスタンスの disposeUnit メソッドを呼び出してアンロードできます。
const fWorkbook = univerAPI.getActiveWorkbook()const unitId = fWorkbook?.getId()if (unitId) { univerAPI.disposeUnit(unitId)}Univer インスタンスをホストしているページ全体が破棄されるか、ルートがアンロードされる場合は、univerAPI.disposeUnit ではなく、univer.dispose() メソッドを呼び出してクリーンアップを行ってください。
また、univer と univerAPI は異なるインスタンスであることに注意してください。これらのインスタンスの取得方法については、インストールと基本的な使用法を参照してください。
ワークブック ID の取得
const fWorkbook = univerAPI.getActiveWorkbook()fWorkbook?.getId()ワークシート
ワークシートはテーブルデータを格納し、ワークブックに属します。
ワークブックは複数のワークシートを含むことができ、同じワークブック内のワークシートの名前は重複できません。
subUnitId はワークブック内のシートを一意に識別するために使用できます。
ワークシートの取得
シート内のすべてのシートを取得
const fWorkbook = univerAPI.getActiveWorkbook()const sheets = fWorkbook.getSheets()アクティブなワークシートを取得
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()ワークシートデータの取得
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()const sheetSnapshot = fWorksheet.getSheet().getSnapshot()ワークシートの作成
以下の例は FWorkbook.create メソッドを使用してワークシートを作成する方法を示しています。
const fWorkbook = univerAPI.getActiveWorkbook()// 10 行 10 列の 'Sheet2' という名前のワークシートを作成const newSheet = fWorkbook.create('Sheet2', 10, 10)// 10 行 10 列の 'MyNewSheetWithData' という名前の新しいシートを作成し、いくつかのデータを含め、最初のシートとして設定しますconst sheetData = { // ... その他のプロパティは省略 cellData: { 0: { 0: { v: 'Hello Univer!', }, }, }, // ... その他のプロパティは省略}const newSheetWithData = fWorkbook.create('MyNewSheetWithData', 10, 10, { index: 0, sheet: sheetData,})console.log(newSheetWithData)ワークシートの削除
ワークシートインスタンスまたはワークシート ID を渡してワークシートを削除
// 2 番目のワークシートを削除const fWorkbook = univerAPI.getActiveWorkbook()const sheet = fWorkbook.getSheets()[1]fWorkbook.deleteSheet(sheet)// 以下のコードは ID で指定されたワークシートを削除します// fWorkbook.deleteSheet(sheet.getSheetId());ワークシートのアクティブ化
ワークシートインスタンスまたはワークシート ID を渡してワークシートをアクティブ化するか、FWorksheet.activate() メソッドを使用します。
// 2 番目のワークシートをアクティブ化const fWorkbook = univerAPI.getActiveWorkbook()const sheet = fWorkbook.getSheets()[1]fWorkbook.setActiveSheet(sheet)// ID で指定されたワークシートをアクティブ化// fWorkbook.setActiveSheet(sheet.getSheetId());// FWorksheet.activate() メソッドを使用してワークシートをアクティブ化// sheet.activate();ワークシートの複製
// 次のコードは、指定されたワークシートを複製しますconst fWorkbook = univerAPI.getActiveWorkbook()const activeSheet = fWorkbook.getActiveSheet()const duplicatedSheet = fWorkbook.duplicateSheet(activeSheet)console.log(duplicatedSheet)ワークシート ID の取得
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()fWorksheet?.getSheetId()ワークシートの行列数の設定
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// 行数を 100000 に設定fWorksheet.setRowCount(100000)// 列数を 30 に設定fWorksheet.setColumnCount(30)ワークシートの更新
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()fWorksheet.refreshCanvas()ワークシートズーム
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// ズーム比率を 200% に設定fWorksheet.zoom(2)const zoomRatio = fWorksheet.getZoom()セルへのスクロール
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// セル D10 にスクロールconst fRange = fWorksheet.getRange('D10')const row = fRange.getRow()const column = fRange.getColumn()fWorksheet.scrollToCell(row, column)// スクロールアニメーションの継続時間を追加fWorksheet.scrollToCell(row, column, 1000)// スクロール状態を取得const scrollState = fWorksheet.getScrollState()const { offsetX, offsetY, sheetViewStartColumn, sheetViewStartRow } = scrollStateconsole.log(scrollState) // sheetViewStartRow: 9, sheetViewStartColumn: 3, offsetX: 0, offsetY: 0コア機能
権限
参考:権限
数式
参考:数式
行と列
参考:行と列
範囲
参考:範囲
選択
参考:選択
セル
参考:セル
固定
参考:固定
カスタムコンポーネントの Univer への統合
リファレンス
詳細については、以下の API ドキュメントを参照してください:
このガイドはいかがですか?