Esquema

La función de esquema (también conocida como agrupación o esquema de dimensiones) le permite agrupar filas o columnas en una hoja de trabajo. Esto es útil para organizar y resumir grandes conjuntos de datos mediante la creación de secciones plegables.

Introducción

En Univer Sheets, la función de esquema le permite:

  • Agrupar filas o columnas: crear grupos jerárquicos de filas o columnas para organizar datos.
  • Contraer y expandir grupos: mostrar u ocultar filas o columnas agrupadas con un solo clic.
  • Anidado grupos: cree múltiples niveles de grupos para jerarquías de datos complejas.

Los grupos de esquema se usan comúnmente en los siguientes escenarios:

  • Resumen de datos detallados: agrupe filas detalladas debajo de filas de resumen para crear una vista más limpia.
  • Organización de conjuntos de datos grandes: agrupe columnas o filas relacionadas para facilitar la navegación.
  • Creación de informes plegables: permita a los usuarios expandir o contraer secciones de un informe según sea necesario.

Complemento Modo

Instalación

Shell
pnpm add @univerjs-pro/sheets-outline @univerjs-pro/sheets-outline-ui

Uso

TypeScript
import { UniverSheetsOutlinePlugin } from '@univerjs-pro/sheets-outline'import { UniverSheetsOutlineUIPlugin } from '@univerjs-pro/sheets-outline-ui'import SheetsOutlineUIEnUS from '@univerjs-pro/sheets-outline-ui/locale/en-US'import { LocaleType, mergeLocales, Univer } from '@univerjs/core'import '@univerjs-pro/sheets-outline/facade'import '@univerjs-pro/sheets-outline-ui/lib/index.css'const univer = new Univer({  locale: LocaleType.EN_US,  locales: {    [LocaleType.EN_US]: mergeLocales(      SheetsOutlineUIEnUS,     ),  },})univer.registerPlugin(UniverSheetsOutlinePlugin)univer.registerPlugin(UniverSheetsOutlineUIPlugin)

Si tiene una licencia comercial para Univer, consulte Uso de la licencia en el cliente para la configuración.

Compatibilidad móvil

Configure primero el editor móvil. En la inicialización en modo plugin de esta página, sustituya los registros de escritorio siguientes por las exportaciones móviles de los mismos paquetes antes de abrir un documento. Conserve modelos, estilos, traducciones e importaciones Facade; no registre ambas variantes.

PaqueteRegistro de escritorioRegistro móvil
@univerjs-pro/sheets-outline-uiUniverSheetsOutlineUIPluginUniverSheetsOutlineMobileUIPlugin

Preestablecido Modo

La función de esquema está incluida en el ajuste preestablecido @univerjs/preset-sheets-advanced.

Instalación

Shell
pnpm add @univerjs/preset-sheets-advanced

Uso

TypeScript
import { UniverSheetsAdvancedPreset } from '@univerjs/preset-sheets-advanced'import UniverPresetSheetsAdvancedEnUS from '@univerjs/preset-sheets-advanced/locales/en-US'import { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'import UniverPresetSheetsCoreEnUS from '@univerjs/preset-sheets-core/locales/en-US'import { createUniver, LocaleType, mergeLocales } from '@univerjs/presets'import '@univerjs/preset-sheets-core/lib/index.css'import '@univerjs/preset-sheets-advanced/lib/index.css'const { univerAPI } = createUniver({  locale: LocaleType.EN_US,  locales: {    [LocaleType.EN_US]: mergeLocales(      UniverPresetSheetsCoreEnUS,      UniverPresetSheetsAdvancedEnUS,     ),  },  presets: [    UniverSheetsCorePreset(),    UniverSheetsAdvancedPreset(),   ],})

Si tiene una licencia comercial de Univer, consulte Uso de la licencia en el cliente para la configuración.

API de Facade

Las definiciones completas del tipo de API de Facade se pueden encontrar en FacadeAPI.

Importación

Plugin mode note

Solo el modo complemento requiere importar manualmente el paquete Facade. El modo preestablecido ya incluye el paquete Facade correspondiente, por lo que no se necesita ninguna importación adicional.

TypeScript
import '@univerjs-pro/sheets-outline/facade'

Creación de contornos de filas

Puedes crear un grupo de contornos de filas usando la API de Facade:

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// Group rows 2 to 6 (0-based index: startRow=1, numRows=5)fWorksheet.addRowOutline(1, 5)

Creación de contornos de columnas

Del mismo modo, puedes crear un grupo de contornos de columnas:

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// Group columns B to E (0-based index: startColumn=1, numColumns=4)fWorksheet.addColumnOutline(1, 4)

Contracción y expansión de contornos

Puedes contraer o expandir un grupo de esquemas mediante programación:

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()const rowOutlines = fWorksheet.getDimensionOutlines(univerAPI.Enum.DimensionOutlineAxis.ROW)if (rowOutlines.length > 0) {  // Collapse the first row outline group  fWorksheet.setDimensionOutlineCollapsed(rowOutlines[0].id, true)  // Expand it later  fWorksheet.setDimensionOutlineCollapsed(rowOutlines[0].id, false)}

Eliminar Contornos

Puedes eliminar un grupo de esquemas específico por su ID:

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()const rowOutlines = fWorksheet.getDimensionOutlines(univerAPI.Enum.DimensionOutlineAxis.ROW)if (rowOutlines.length > 0) {  fWorksheet.removeDimensionOutline(rowOutlines[0].id)}

Borrar contornos en un rango

Puedes borrar todos los grupos de esquemas dentro de un rango específico:

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// Remove all row outline groups fully contained in rows 2 to 10fWorksheet.clearDimensionOutlines(univerAPI.Enum.DimensionOutlineAxis.ROW, 1, 9)

Consultar esquemas

Puedes recuperar todos los grupos de esquemas en una hoja de trabajo:

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// Get all row outlinesconst rowOutlines = fWorksheet.getDimensionOutlines(univerAPI.Enum.DimensionOutlineAxis.ROW)rowOutlines.forEach((outline) => {  console.log(outline.id, outline.start, outline.end, outline.collapsed)})// Get all outlines (both row and column)const allOutlines = fWorksheet.getDimensionOutlines()

Estructura de datos del esquema

Cada grupo de esquemas tiene las siguientes propiedades:

PropiedadTipoDescripción
idstringIdentificador único para el grupo de esquema
unitIdstringEl ID de la unidad del libro de trabajo
subUnitIdstringEl ID de la hoja de cálculo
axisDimensionOutlineAxisEl eje del esquema (row o column)
startnumberÍndice inicial inclusivo de base cero
endnumberÍndice final inclusivo de base cero
collapsedbooleanSi el grupo está colapsado actualmente

Validación y errores

Al crear grupos de esquemas, lo siguiente se realizan validaciones:

  • Rango no válido: el rango debe ser válido (no negativo, recuento distinto de cero).
  • Fuera de límites: el rango debe estar dentro de los límites de la hoja de cálculo.
  • Grupos cruzados: los grupos nuevos no pueden cruzar los grupos existentes.
  • Profundidad máxima: existe una profundidad máxima de anidamiento para los grupos de esquema.

El rango para desagrupar debe contener completamente el rango del grupo de esquema; la validación fallará.

Si falla una validación, el comando no se ejecutará y se emitirá un error a través de SheetsOutlineErrorService.

¿Cómo es esta guía?

© 2026 DreamNum Co., Ltd.