Skip to Content
🎉 Univer 0.6.0 版本已发布。查看详情 →
GuidesUniver Sheets功能核心功能Sheet API

Univer Sheets API

概念

Univer 表格相关概念会尽可能与 Excel 保持一致。

工作簿 Workbook

一个工作簿里包含多个工作表,可以看作是一个 Excel 文件。

unitId 可用作工作簿的唯一标识。

创建工作簿

univer.createUnit(UniverInstanceType.UNIVER_SHEET, workbookData) 方法会创建并返回 Workbook 对象。

workbookData 是一个对象,包含了工作簿的配置信息。

const univer = new Univer({ theme: defaultTheme, locale: LocaleType.ZH_CN, locales: { [LocaleType.ZH_CN]: zhCN, }, }); univer.registerPlugin(UniverRenderEnginePlugin); univer.registerPlugin(UniverFormulaEnginePlugin); univer.registerPlugin(UniverUIPlugin, { container: 'app', }); univer.registerPlugin(UniverDocsPlugin); univer.registerPlugin(UniverDocsUIPlugin); univer.registerPlugin(UniverSheetsPlugin); univer.registerPlugin(UniverSheetsUIPlugin); univer.registerPlugin(UniverSheetsFormulaPlugin); // 传入空对象会自动初始化工作簿 univer.createUnit(UniverInstanceType.UNIVER_SHEET, {});

获取工作簿数据

const univerAPI = FUniver.newAPI(univer); const activeWorkbook = univerAPI.getActiveWorkbook() const saveData = activeWorkbook.save();

销毁工作簿

当我们不再需要工作簿时,可以调用 FUniverdisposeUnit 方法来销毁实例。

const activeWorkbook = univerAPI.getActiveWorkbook() const unitId = activeWorkbook && activeWorkbook.getId() if(unitId){ univerAPI.disposeUnit(unitId) }
⚠️

当 Univer 实例挂载的整个页面被销毁或路由被卸载时,务必调用 univer.dispose() 方法进行清理,而不是使用 univerAPI.disposeUnit。 此外,univeruniverAPI 是两个不同的实例,关于如何获取它们的实例,请参考 安装和基本使用

获取工作簿 ID

const activeWorkbook = univerAPI.getActiveWorkbook() const unitId = activeWorkbook && activeWorkbook.getId()

工作表 Worksheet

工作表中存储着表格数据,工作表属于工作薄,

一个工作薄可以包含多个工作表,同一个工作薄中工作表的名称不能重复。

subUnitId 可用作在工作薄中工作表的唯一标识。

获取工作表

获取工作薄中所有工作表

const activeWorkbook = univerAPI.getActiveWorkbook(); const sheets = activeWorkbook.save().sheets;

获取工作薄中当前激活的工作表

const sheet = univerAPI.getActiveWorkbook().getActiveSheet();

获取工作表数据

const activeWorkbook = univerAPI.getActiveWorkbook(); const snapshot = activeWorkbook.save() const sheet1 = Object.values(snapshot.sheets).find((sheet) => { return sheet.name === 'Sheet1' })

创建工作表

在创建工作薄时,如果不传入参数,会自动创建一个工作表。

下面例子展示通过 Workbook.create 方法创建一个工作表。

const univer = new Univer({ theme: defaultTheme, locale: LocaleType.ZH_CN, locales: { [LocaleType.ZH_CN]: zhCN, }, }); univer.registerPlugin(UniverRenderEnginePlugin); univer.registerPlugin(UniverFormulaEnginePlugin); univer.registerPlugin(UniverUIPlugin, { container: 'app', }); univer.registerPlugin(UniverDocsPlugin); univer.registerPlugin(UniverDocsUIPlugin); univer.registerPlugin(UniverSheetsPlugin); univer.registerPlugin(UniverSheetsUIPlugin); univer.registerPlugin(UniverSheetsFormulaPlugin); // 传入空对象会自动初始化工作簿 univer.createUnit(UniverInstanceType.UNIVER_SHEET, {}) const univerAPI = FUniver.newAPI(univer); const activeWorkbook = univerAPI.getActiveWorkbook(); // 创建一个名为 'Sheet2' 的工作表,包含 10 行和 10 列 const sheet2 = activeWorkbook.create('Sheet2', 10, 10)

删除工作表

删除工作表需要知道工作表的 Id。

import { RemoveSheetCommand } from '@univerjs/sheets' const sheetId = 'SheetId'; univerAPI.executeCommand(RemoveSheetCommand.id, { subUnitId: sheetId });

激活工作表

激活工作表需要知道工作薄的 Id 和工作表的 Id。

import { SetWorksheetActiveOperation } from '@univerjs/sheets' const workbookId = 'WorkbookId'; const sheetId = 'SheetId'; univerAPI.executeCommand(SetWorksheetActiveOperation.id, { unitId: workbookId, subUnitId: sheetId });

获取工作表 ID

const sheet = univerAPI.getActiveWorkbook().getActiveSheet(); const sheetId = sheet && sheet.getSheetId();

核心功能

权限控制

公式

行列操作

范围Range

选区Selection

单元格Cell

冻结

集成自定义组件

参考

更多 API 请查看:


这个页面对您有帮助吗?
Last updated on