Estructura de datos de celda

Posición de celda

Los datos de celda en Univer Sheets se almacenan en el campo cellData del objeto IWorksheetData, que contiene todas las celdas. información como valor de celda, estilo, tipo, etc.

La estructura de cellData es la siguiente

TypeScript
interface IWorksheetData {  cellData: {    // first row    0: {      // first column      0: { v: 'A1' }      // second column      1: { v: 'B1' }    }    // second row    1: {      // first column      0: { v: 'A2' }      // second column      1: { v: 'B2' }    }  }}

Datos de celda

La información completa de la celda es la siguiente.

PropiedadDescripción
vValor original de la celda
sId. de estilo de celda u objeto de estilo
tTipo de celda
pTexto enriquecido, también 📝 Univer Docs
fFormula
siId. de fórmula
customCampo personalizado

Consulte la información de tipo de cada campo de ICellData.

Valor original de la celda

cellData.v almacena el valor original de la celda, que puede ser una cadena o un número. Para celdas con fórmulas, v almacena el resultado del cálculo de la fórmula.

Aquí mostramos dos valores de celda diferentes.

TypeScript
interface IWorksheetData {  cellData: {    0: {      0: { v: 'A1' }      1: { v: 1 }    }  }}

Estilo de celda

cellData.s almacena la identificación de estilo o el objeto de estilo de la celda.

Si s es una cadena, representa una identificación de estilo. Univer Sheets admite la optimización de referencias para estilos. Los objetos de estilo repetidos se almacenan en el campo estilos de IWorkbookData, que es una estructura de mapa, cada clave es la identificación del estilo y el valor es el objeto de estilo.

Evite usar valores de color con transparencia (como rgba), de lo contrario, el fondo mostrará el contenido de la celda subyacente cuando se active el estado de edición.

TypeScript
interface IWorkbookData {  styles: {    random_style_id_1: {      fs: 12      bg: {        rgb: '#ff0000'      }    }  }}

Luego almacene la identificación en el estilo de celda para lograr el propósito del estilo. reutilizar.

TypeScript
interface IWorksheetData {  cellData: {    0: {      0: {        v: 'A1'        s: 'random_style_id_1'      }      1: {        v: 'B1'        s: 'random_style_id_1'      }    }  }}

Si s es un objeto, representa un objeto de estilo de celda completo IStyleData.

El campo de estilo completo es el siguiente.

PropiedadDescripción
ffFont
fsTamaño de fuente
itItalic
blBold
ulUnderline
stStrikethrough
olOverline
bgFondo color
bdBorder
clColor de fuente
vaSuperíndice o subíndice
trRotación de texto
htAlineación horizontal
vtAlineación vertical
tbTruncar desbordamiento
pdPadding
nFormato de números

Puede consultar la información de tipo de cada campo de IStyleData.

Fuente

ff es una cadena que representa el nombre de la fuente.

TypeScript
interface IStyleData {  ff: 'Arial' // Font name is Arial}

Tamaño de fuente

fs es un número, la unidad es pt.

TypeScript
interface IStyleData {  fs: 12 // Font size is 12 pt}

Cursiva

it es un número booleano, 0 significa no cursiva, 1 significa cursiva.

TypeScript
interface IStyleData {  it: 1 // Italic}

Negrita

bl es un número booleano, 0 significa no negrita, 1 significa negrita.

TypeScript
interface IStyleData {  bl: 1 // Bold}

Subrayado

ul es un objeto, representa el estilo subrayado.

TypeScript
interface IStyleData {  ul: {    s: 1 // Whether to show underline    c: 0 // Whether the color follows the font color. When `c` is 1 (TRUE), cl does not work. The default value is 1    cl: { // Underline color      rgb: '#ff0000'    }    t: 0 // Underline type  }}

Tachado

st es un objeto, representa el estilo tachado.

TypeScript
interface IStyleData {  st: {    s: 1 // Whether to show strikethrough    c: 0 // Whether the color follows the font color. When `c` is 1 (TRUE), cl does not work. The default value is 1    cl: { // Strikethrough color      rgb: '#ff0000'    }    t: 0 // Strikethrough type  }}

Sobrelínea

ol es un objeto, representa estilo de sobrelínea.

TypeScript
interface IStyleData {  ol: {    s: 1 // Whether to show overline    c: 0 // Whether the color follows the font color. When `c` is 1 (TRUE), cl does not work. The default value is 1    cl: { // Overline color      rgb: '#ff0000'    }    t: 0 // Overline type  }}

Color de fondo

bg es un objeto, representa el color de fondo.

TypeScript
interface IStyleData {  bg: {    rgb: '#ff0000' // Background color is red  }}

Borde

bd es un objeto, representa el estilo de borde.

TypeScript
interface IStyleData {  bd: {    // Top border    t: {      s: 0 // Border style      cl: { // Border color        rgb: '#ff0000'      }    }    // Bottom border    b: {      s: 0 // Border style      cl: { // Border color        rgb: '#ff0000'      }    }    // Left border    l: {      s: 0 // Border style      cl: { // Border color        rgb: '#ff0000'      }    }    // Right border    r: {      s: 0 // Border style      cl: { // Border color        rgb: '#ff0000'      }    }  }}

Color de fuente

cl es un objeto, representa el color de fuente.

TypeScript
interface IStyleData {  cl: {    rgb: '#ff0000' // Font color is red  }}

Superíndice o Subíndice

va es un número de enumeración, 1 significa normal, 2 significa subíndice, 3 significa superíndice.

TypeScript
interface IStyleData {  va: 2 // Subscript}

Rotación de texto

tr es un objeto, representa texto rotación.

TypeScript
interface IStyleData {  tr: {    a: 0 // Text rotation angle    v: 0 // Whether it is vertical. 1 means vertical, 0 means horizontal. The default value is 0. When v is 1, a is invalid  }}

Alineación horizontal

ht es un número de enumeración, 1 significa alineación a la izquierda, 2 significa centro, 3 significa alineación a la derecha.

TypeScript
interface IStyleData {  ht: 1 // Left alignment}

Vertical Alineación

vt es un número de enumeración, 1 significa alineación superior, 2 significa centro, 3 significa alineación inferior.

TypeScript
interface IStyleData {  vt: 1 // Top alignment}

Truncar desbordamiento

tb es un número de enumeración, 1 significa desbordamiento, 2 significa truncar, 3 significa ajuste.

TypeScript
interface IStyleData {  tb: 1 // Overflow}

Relleno

pd es un objeto, representa padding.

TypeScript
interface IStyleData {  pd: {    t: 0 // Top padding    b: 0 // Bottom paddingAdd commentMore actions    l: 0 // Left padding    r: 0 // Right padding  }}

Formato de número

n es un objeto. El campo pattern indica el formato del número. El formato del número es una cadena, consulte aquí。

n es null o pattern es null, indica el formato general.

TypeScript
import type { DEFAULT_TEXT_FORMAT_EXCEL } from '@univerjs/core'interface IStyleData {  n: {    pattern: DEFAULT_TEXT_FORMAT_EXCEL // text format  }}

No quiero que la celda se convierta por predeterminado al ingresar un número que comienza con 0 o un número que se puede convertir a un formato de fecha

Tipo de celda

cellData.t es una enumeración CellValueType, representa el tipo de celda. 1 significa cadena, 2 significa número, 3 significa booleano, 4 significa texto forzado. Univer lo reconocerá automáticamente si no está configurado.

Si la celda es de tipo booleano, el valor de cellData.v se almacena como 0 o 1, 0 significa falso, 1 significa verdadero.

TypeScript
interface IWorksheetData {  cellData: {    0: {      0: {        v: 'A1'        t: 1 // String      }      1: {        v: 1        t: 2 // Number      }      2: {        v: 1 // TRUE        t: 3 // Boolean      }      3: {        v: '012.0'        t: 4 // Force text      }    }  }}

Tú Puede controlar si se habilita la alerta de texto forzado y la marca configurando disableForceStringAlert y disableForceStringMark. Vea la ubicación de configuración:

Texto enriquecido

cellData.p es un objeto que representa texto enriquecido y también es un Univer Doc. Obtenga más información sobre IDocumentData.

Cuando se configuran las celdas p y v, solo se mostrará el contenido de p.

cellData.p.body.dataStream es el contenido enriquecido texto.

Fórmula

cellData.f es una cadena que representa una fórmula.

TypeScript
interface IWorksheetData {  cellData: {    0: {      0: {        f: '=SUM(A1:B1)' // function SUM      }    }  }}

ID de fórmula

cellData.si es una cadena que representa el ID de fórmula. Univer Sheets admite la optimización de referencias para fórmulas. Después de que la fórmula actual esté asociada con si en la celda, otras celdas pueden hacer referencia a la fórmula actual a través de si. Tenga en cuenta que la posición de la celda con si debe estar en la esquina inferior derecha de la celda de referencia; de lo contrario, se producirá un error al exportar a XLSX.

La fórmula real se puede obtener a través de la API de Facade range.getFormulas(). La regla es obtener la fórmula f correspondiente a si y luego calcular la fórmula real en función del desplazamiento desde la posición actual de la celda hasta la posición de referencia.

TypeScript
interface IWorksheetData {  cellData: {    0: {      0: {        f: '=SUM(A1:B1)' // Sum formula        si: 'random_formula_id_1' // ID of the current formula      }      1: {        si: 'random_formula_id_1' // Take the formula corresponding to this ID during calculation      }    }  }}

Campo personalizado

cellData.custom es un objeto que representa un campo personalizado. Puede colocar en él cualquier dato que cumpla con el formato JSON para personalizar el almacenamiento de información adicional.

La actualización de los datos custom sobrescribirá los datos custom originales. Si necesita conservar los datos custom originales al actualizar los datos, obtenga los datos custom con anticipación y combínelos en datos nuevos antes de actualizar.

El campo custom solo es adecuado para algunos escenarios especiales, y los datos almacenados en este campo pueden sobrescribirse o eliminarse mediante cualquier operación del usuario. Úselo con precaución.

TypeScript
interface IWorksheetData {  cellData: {    0: {      0: {        custom: {          key: 'value'        }      }    }  }}

¿Cómo es esta guía?

© 2026 DreamNum Co., Ltd.