Formato condicional

El formato condicional permite a los usuarios cambiar automáticamente el formato de las celdas según condiciones específicas, resaltando datos o tendencias importantes. Admite varias condiciones y opciones de formato, lo que ayuda a los usuarios a comprender los datos de forma más intuitiva.

Modo de complemento

Instalación

Shell
pnpm add @univerjs/sheets-conditional-formatting @univerjs/sheets-conditional-formatting-ui

Uso

TypeScript
import { LocaleType, mergeLocales, Univer } from '@univerjs/core'import { UniverSheetsConditionalFormattingPlugin } from '@univerjs/sheets-conditional-formatting'import { UniverSheetsConditionalFormattingUIPlugin } from '@univerjs/sheets-conditional-formatting-ui'import SheetsConditionalFormattingUIEnUS from '@univerjs/sheets-conditional-formatting-ui/locale/en-US'import '@univerjs/sheets-conditional-formatting-ui/lib/index.css'import '@univerjs/sheets-conditional-formatting/facade'const univer = new Univer({  locale: LocaleType.EN_US,  locales: {    [LocaleType.EN_US]: mergeLocales(      SheetsConditionalFormattingUIEnUS,     ),  },})univer.registerPlugin(UniverSheetsConditionalFormattingPlugin)univer.registerPlugin(UniverSheetsConditionalFormattingUIPlugin)

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/sheets-conditional-formatting-uiUniverSheetsConditionalFormattingUIPluginUniverSheetsConditionalFormattingMobileUIPlugin

Modo preestablecido

Instalación

Shell
pnpm add @univerjs/preset-sheets-conditional-formatting

Uso

TypeScript
import { UniverSheetsConditionalFormattingPreset } from '@univerjs/preset-sheets-conditional-formatting'import UniverPresetSheetsConditionalFormattingEnUS from '@univerjs/preset-sheets-conditional-formatting/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-conditional-formatting/lib/index.css'const { univerAPI } = createUniver({  locale: LocaleType.EN_US,  locales: {    [LocaleType.EN_US]: mergeLocales(      UniverPresetSheetsCoreEnUS,      UniverPresetSheetsConditionalFormattingEnUS,     ),  },  presets: [    UniverSheetsCorePreset(),    UniverSheetsConditionalFormattingPreset(),   ],})

API de Facade

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

Importar

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/sheets-conditional-formatting/facade'

Crear reglas de formato condicional

FWorksheet.newConditionalFormattingRule() crea un generador de formato condicional, devolviendo una instancia de FConditionalFormattingBuilder, que se puede usar para generar reglas de formato condicional a través del encadenamiento de métodos.

Aquí hay algunos métodos miembros. de FConditionalFormattingBuilder:

MétodoDescripción
buildCrea el formato condicional regla
copyClonar profundamente un constructor actual
createCfIdCrear un ID de formato condicional
getRangesObtiene el alcance del formato condicional actual
setRangesEstablece el rango de la regla de formato condicional
setAverageEstablece la regla de formato condicional de valor promedio
setUniqueValuesEstablece la regla de formato condicional de valor único
setDuplicateValuesEstablece la regla de formato condicional de valor duplicado
setRankEstablece la regla de formato condicional de clasificación
setIconSetEstablece la regla de formato condicional de conjunto de iconos
setColorScaleEstablece la regla de formato condicional de escala de color
setDataBarEstablece la regla de formato condicional de la barra de datos
setBackgroundEstablece el color de fondo del formato condicional
setBoldEstablece si la fuente del formato condicional está en negrita
setFontColorEstablece el color de fuente del formato condicional
setItalicEstablece si la fuente del formato condicional es cursiva
setStrikethroughEstablece si la fuente del formato condicional tiene un tachado
setUnderlineEstablece si la fuente del formato condicional tiene un subrayado
whenCellEmptyEstablece la regla de formato condicional para que se active cuando la celda está vacía
whenCellNotEmptyEstablece la regla de formato condicional para que se active cuando la celda no está vacía
whenDateEstablece la regla de formato condicional para que se active cuando la fecha está dentro un período de tiempo específico
whenFormulaSatisfiedEstablece la regla de formato condicional para que se active cuando el resultado del cálculo de la fórmula sea verdadero
whenNumberBetweenEstablece la regla de formato condicional para que se active cuando el número está entre dos valores especificados o igual a uno de ellos
whenNumberEqualToEstablece la regla de formato condicional para que se active cuando el número es igual al valor dado
whenNumberGreaterThanEstablece la regla de formato condicional para que se active cuando el número es mayor que el valor dado
whenNumberGreaterThanOrEqualToEstablece la regla de formato condicional para que se active cuando el número es mayor mayor o igual que el valor dado
whenNumberLessThanEstablece la regla de formato condicional para que se active cuando el número es menor que el valor dado
whenNumberLessThanOrEqualToEstablece la regla de formato condicional para que se active cuando el número es menor o igual que el valor dado
whenNumberNotBetweenEstablece la regla de formato condicional para que se active cuando el número no está entre dos valores especificados y no es igual a ellos
whenNumberNotEqualToEstablece la regla de formato condicional para que se active cuando el número no es igual al valor dado
whenTextContainsEstablece la regla de formato condicional para que se active cuando el texto contiene el valor especificado
whenTextDoesNotContainEstablece la regla de formato condicional para que se active cuando el texto no contiene el valor especificado
whenTextEndsWithEstablece la regla de formato condicional para que se active cuando el texto termina con el valor especificado
whenTextEqualToEstablece la regla de formato condicional para que se active cuando el texto es igual al valor dado
whenTextStartsWithEstablece la regla de formato condicional para que se active cuando el texto comienza con el valor especificado
TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// Create a conditional formatting rule that sets the cell format to italic, red background, and green font color when the cell is not empty.const fRange = fWorksheet.getRange('A1:T100')const rule = fWorksheet.newConditionalFormattingRule()  .whenCellNotEmpty()  .setRanges([fRange.getRange()])  .setItalic(true)  .setBackground('red')  .setFontColor('green')  .build()fWorksheet.addConditionalFormattingRule(rule)

Obtener reglas de formato condicional

  • FWorksheet.getConditionalFormattingRules() obtiene todas las reglas de formato condicional de la hoja de trabajo
  • FRange.getConditionalFormattingRules() obtiene todas las reglas de formato condicional del rango
TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()// Get all conditional formatting rules of the active worksheetconst fWorksheet = fWorkbook.getActiveSheet()const rulesOfSheet = fWorksheet.getConditionalFormattingRules()// Get all conditional formatting rules of the range A1:T100const fRange = fWorksheet.getRange('A1:T100')const rulesOfRange = fRange.getConditionalFormattingRules()

Eliminar formato condicional Reglas

FWorksheet.deleteConditionalFormattingRule(cfId) elimina una regla de formato condicional de la hoja de trabajo, donde cfId es el ID de la regla de formato condicional.

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()const rules = fWorksheet.getConditionalFormattingRules()// Remove the first conditional formatting rulefWorksheet.deleteConditionalFormattingRule(rules[0]?.cfId)

Actualizar reglas de formato condicional

FWorksheet.setConditionalFormattingRule(cfId, rule) actualiza una regla de formato condicional en la hoja de trabajo, donde cfId es el ID de la regla de formato condicional y rule es la nueva regla de formato condicional.

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// Create a conditional formatting rule that sets the cell format to italic, red background, and green font color when the cell is not empty.const fRange = fWorksheet.getRange('A1:T100')const rule = fWorksheet.newConditionalFormattingRule()  .whenCellNotEmpty()  .setRanges([fRange.getRange()])  .setItalic(true)  .setBackground('red')  .setFontColor('green')  .build()fWorksheet.addConditionalFormattingRule(rule)// Modify the first rule to apply to a new rangeconst rules = fWorksheet.getConditionalFormattingRules()const newRuleRange = fWorksheet.getRange('A1:D10')fWorksheet.setConditionalFormattingRule(rules[0]?.cfId, { ...rules[0], ranges: [newRuleRange.getRange()] })

Modificar la prioridad de las reglas de formato condicional

FWorksheet.moveConditionalFormattingRule(cfId, toCfId, type) modifica la prioridad de una regla de formato condicional en la hoja de trabajo, donde cfId es el ID de la regla de formato condicional, toCfId es el ID de la regla de formato condicional de destino y type especifica el tipo de movimiento (por ejemplo, 'antes', 'después').

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()const rules = fWorksheet.getConditionalFormattingRules()// Move the third rule before the first ruleconst rule = rules[2]const targetRule = rules[0]fWorksheet.moveConditionalFormattingRule(rule?.cfId, targetRule?.cfId, 'before')

Borrar todo el formato condicional Reglas

  • FWorksheet.clearConditionalFormatRules() borra todas las reglas de formato condicional de la hoja de trabajo.
  • FRange.clearConditionalFormatRules() borra todas las reglas de formato condicional del rango.
TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()// Clear all conditional formatting rules of the active worksheetconst fWorksheet = fWorkbook.getActiveSheet()fWorksheet.clearConditionalFormatRules()// Clear all conditional formatting rules of the range A1:T100const fRange = fWorksheet.getRange('A1:T100')fRange.clearConditionalFormatRules()

Reutilizar descripciones y vistas previas de reglas

Para listas personalizadas, importe getRuleDescribe y ConditionalFormattingRulePreview de @univerjs/sheets-conditional-formatting-ui. Pase la regla completa a getRuleDescribe(rule, localeService) y solo su configuración (rule.rule) a la vista previa. Esta muestra la apariencia configurada sin evaluar las celdas. Renderícela dentro del contexto React de Univer.

CF_PANEL_KEY identifica el panel integrado para sustituir componentes. IConditionFormattingPanelProps.onEditorExit se ejecuta al terminar la edición por envío, cancelación, activación o eliminación de una hoja. No indica que se haya guardado correctamente ni que se haya cerrado la barra lateral.

TSX
import type { IConditionFormattingRule } from '@univerjs/sheets-conditional-formatting'import { LocaleService } from '@univerjs/core'import { ConditionalFormattingRulePreview, getRuleDescribe } from '@univerjs/sheets-conditional-formatting-ui'import { useDependency } from '@univerjs/ui'interface IRuleSummaryProps {  rule: IConditionFormattingRule}function RuleSummary({ rule }: IRuleSummaryProps) {  const localeService = useDependency(LocaleService)  return (    <div>      <span>{getRuleDescribe(rule, localeService)}</span>      <ConditionalFormattingRulePreview rule={rule.rule} />    </div>  )}

¿Cómo es esta guía?

© 2026 DreamNum Co., Ltd.