資料表、欄位與記錄

一個 Base 包含多個依序排列的資料表。每個資料表都包含欄位定義、記錄值、選用的儲存格資料矩陣、資源、檢視,以及供轉譯與查詢邏輯使用的索引。

新建資料表預設包含零筆記錄;請透過 Facade API 或匯入的快照資料明確新增記錄。

資料表快照

屬性類型說明
idstring資料表 ID。
namestring資料表名稱。
fieldsRecord\<string, IFieldSnapshot\>以欄位 ID 為鍵的欄位定義。
fieldOrderstring[]依序排列的欄位 ID 清單。
recordsRecord\<string, IRecordSnapshot\>以記錄 ID 為鍵的記錄資料。
recordOrder?string[]依序排列的記錄 ID 清單。
primaryFieldIdstring主要欄位 ID。
viewsRecord\<string, IViewSnapshot\>以檢視 ID 為鍵的檢視。
viewOrderstring[]依序排列的檢視 ID 清單。
resources?IBaseResources共用的選項、成員與附件資源。

欄位快照

屬性類型說明
idstring欄位 ID。
namestring欄位名稱。
description?string欄位說明。
typeBaseFieldType欄位類型。
configRecord\<string, unknown\>此欄位類型專用的設定。
defaultValue?BaseCellValue新記錄的預設值。
system?boolean欄位是否由系統管理。
readonly?boolean值是否為唯讀。

欄位類型

常見的欄位類型包括 text、number、currency、progress、rating、checkbox、singleSelect、multiSelect、person、group、date、attachment、formula、createdAt、updatedAt、createdBy 和 updatedBy。

建構應用程式程式碼時,請使用 Facade 列舉:

TypeScript
const field = table.addField('Due date', univerAPI.Enum.BaseFieldType.Date)

記錄快照

屬性類型說明
idstring記錄 ID。
valuesRecord\<string, BaseCellValue\>以欄位 ID 為鍵的值。
orderKeystring穩定的排序鍵。
createdAtnumber建立時間戳記。
updatedAtnumber更新時間戳記。
createdBy?string建立者 ID。
updatedBy?string最後更新者 ID。

Facade 範例

TypeScript
const table = base.insertTable('Tasks', { primaryFieldName: 'Title' })const title = table.getPrimaryField()const status = table.addField('Status', univerAPI.Enum.BaseFieldType.SingleSelect)const record = table.addRecord({  [title.getId()]: 'Write guide',  [status.getId()]: 'In progress',})

你覺得這篇文檔如何?

© 2026 DreamNum Co., Ltd.