文档数据结构

IDocumentData

IDocumentData 是 Univer Docs 使用的快照格式。

它用于描述一个完整的文档单元,包括正文、文档级样式、页眉页脚、图片、列表、表格以及插件资源。

属性

属性类型描述
idstring文档单元的唯一 ID。
rev?number文档版本号,用于协同编辑。
locale?LocaleType文档语言环境。
title?string文档标题。
body?IDocumentBody正文富文本内容。详情
documentStyleIDocumentStyle文档级页面、排版、页眉页脚和默认文字样式配置。
settings?IDocumentSettings运行时设置,例如 zoomRatio
resources?IResources插件资源。
disabled?boolean文档是否禁用。
headers?IHeaders以页眉 ID 为 key 的页眉正文。
footers?IFooters以页脚 ID 为 key 的页脚正文。
lists?ILists段落项目符号使用的列表定义。
drawings?IDrawings图片等绘图对象。
drawingsOrder?string[]绘图对象渲染顺序。
tableSource?ITables被正文引用的表格定义。

示例

TypeScript
const documentData: IDocumentData = {  id: 'doc-1',  title: '示例文档',  locale: LocaleType.ZH_CN,  body: {    dataStream: 'Hello Univer\r\n',    textRuns: [      {        st: 0,        ed: 12,        ts: { fs: 14 },      },    ],    paragraphs: [      {        startIndex: 12,        paragraphId: 'paragraph-1',      },    ],  },  documentStyle: {    pageSize: { width: 595, height: 842 },    marginTop: 72,    marginBottom: 72,    marginLeft: 72,    marginRight: 72,  },}

使用场景

IDocumentData 主要用于:

  1. 创建 Univer Docs 文档
  2. 保存 Univer Docs 快照
  3. 导入或导出 .docx 文件
  4. 通过 ICellData.p 在 Sheets 单元格中存储富文本

快照是用于持久化的数据结构。文档运行后不要直接修改快照对象,请通过 Facade API 或命令修改文档内容。

你觉得这篇文档如何?

© 2026 DreamNum Co., Ltd.