Documentación HotXLS

Clases TXLSXCell / TXLSXCells

Acceso al valor de la celda en una TXLSXWorksheetTXLSXCell es una sola celda (valor más fórmula opcional e índice de formato); TXLSXCells es la colección por hoja de trabajo a la que se accede a través de Worksheet.Cells; declarado en lxHandleX

Declaración de TXLSXCell

type
  TXLSXCell = class
    constructor Create(ARow, ACol: Integer; const AValue: Variant);
    destructor Destroy; override;
    procedure SetWorkbook(AWorkbook: TXLSXWorkbook);
    procedure SetArrayRoot(ARootRow, ARootCol: Integer);
    procedure SetArrayRange(ARootRow, ARootCol, ALastRow, ALastCol: Integer);
    property Workbook: TXLSXWorkbook;
    property ArrayRootRow: Integer;
    property ArrayRootCol: Integer;
    property ArrayLastRow: Integer;
    property ArrayLastCol: Integer;
    property Row: Integer;
    property Col: Integer;
    property Value: Variant;
    property FormatIndex: Integer;
    property FontIndex: Integer;
    property FillIndex: Integer;
    property BorderIndex: Integer;
    property NumberFormatIndex: Integer;
    property NumberFormat: WideString;
    property AlignmentIndex: Integer;
    property ProtectionIndex: Integer;
    property Formula: WideString;
    property RichText: TXLSXRichText;
    property Locked: Boolean;
    property FormulaHidden: Boolean;
    property FormattedText: WideString;
    property TaggedText: WideString;
    property NamedStyleXfId: Integer;
    property LinkedStyle: TXLSXLinkedStyle;
  end;
      

Miembros de TXLSXCell

DestroyLibera el estado de la instancia y libera los recursos propios
SetWorkbookEscribe la referencia del libro de trabajo propietario para que operaciones como las búsquedas de formatos numéricos puedan reutilizar los grupos de libros de trabajo compartidos en tiempo O(1)
SetArrayRoot / SetArrayRangeEstablece marcadores ArrayRoot* y ArrayLast* para anclajes de desbordamiento de fórmulas de matriz de modo que una celda raíz asocie todas las celdas dependientes en el mismo rectángulo
WorkbookReferencia inversa al TXLSXWorkbook propietario establecido por la creación de celdas de la hoja de cálculo
ArrayRootRow / ArrayRootCol / ArrayLastRow / ArrayLastColMetadatos de desbordamiento CSE de solo lectura utilizados por el ciclo de ida y vuelta de guardar/cargar para rectángulos de fórmulas de matriz
RowÍndice de fila basado en 1
ColÍndice de columna basado en 1 (1 = A, 2 = B, ...)
ValueValor de celda como Variant; se admiten cadenas, números, booleanos y TDateTime ; establecer un TDateTime selecciona automáticamente el formato de fecha integrado cellXf (XlsxXfIndexDate) when no explicit FormatIndex is set -> cuando no se define un FormatIndex explícito
FormatIndexÍndice en xl/styles.xmlcellXfs ; deje en 0 para el estilo predeterminado; el índice 1 está reservado para el formato de fecha incorporado (numFmtId 14, m/d/yyyy); cuando se establece, FormatIndex tiene prioridad sobre FontIndex en la celda emitida
FontIndexÍndice basado en 1 para TXLSXWorkbook.Fonts Deje en 0 para heredar Calibri 11 predeterminado
FillIndexÍndice basado en 1 en TXLSXWorkbook.Fills Ver TXLSXFill
BorderIndexÍndice basado en 1 en TXLSXWorkbook.Borders Ver TXLSXBorder
NumberFormatIndexÍndice basado en 1 para TXLSXWorkbook.NumberFormats Use esto para códigos de formato personalizados como '$#,##0.00' o 'yyyy-mm-dd hh:mm:ss'
NumberFormatPropiedad de conveniencia para texto de formato de número personalizado; la lectura devuelve el código de formato del grupo de formatos de número del libro de trabajo cuando NumberFormatIndex apunta a uno, mientras que la asignación de una cadena busca o agrega el formato y actualiza NumberFormatIndex
AlignmentIndexÍndice basado en 1 en TXLSXWorkbook.Alignments Ver TXLSXAlignment para los controles individuales de alineación horizontal / vertical / ajustar texto / sangría / rotación
RichTextCarga útil TXLSXRichText propia opcional Cuando se establece, la celda pasa a través de la tabla de cadenas compartidas como una entrada <si> de segmentos múltiples en lugar de una cadena de texto sin formato; asignar nil revierte al valor Variant de la celda
PrecedenceCuando se configuran varias propiedades *Index en la misma celda, el lado de SaveAs elige el cellXf correspondiente en este orden: FormatIndex > FontIndex > FillIndex > BorderIndex > NumberFormatIndex
FormulaTexto de fórmula opcional (sin =al inicio) Cuando se establece, SaveAs emite un elemento secundario <f> junto al valor de la celda, y Open lo vuelve a leer
ProtectionIndexÍndice en el grupo de protección del libro de trabajo; las propiedades de conveniencia Locked y FormulaHidden mantienen este índice automáticamente para su uso común
LockedCuando es True (por defecto para cada celda nueva), la celda se protege cuando la hoja de trabajo está protegida. Establézcalo en False para permitir la edición de una celda específica dentro de una hoja protegida. Escribe un atributo <protection locked="0"/> dentro del cellXf de la celda cuando es diferente al valor por defecto
FormulaHiddenCuando es True, la barra de fórmulas no muestra la fórmula de la celda mientras la hoja está protegida. Por defecto es False. Emite <protection hidden="1"/> en el cellXf
FormattedTextcorrespondiente
TaggedTextWideString de solo lectura. Devuelve el valor de la celda formateado como una cadena según su código de formato de número personalizado o integrado activo
NamedStyleXfIdRead-only Integer. Returns the cellXfs índice del estilo con nombre al que esta celda enlaza, o -1 when the cell has no style payload
LinkedStyleRead/write TXLSXLinkedStyle registro. Enlaza la celda a un estilo con nombre: AutomaticChoose deja que Excel elija el estilo automáticamente y LinkedParts WideString de solo lectura. Devuelve la cadena de celda formateada que contiene etiquetas de formato de tipo HTML/XML para estilos de texto enriquecido cuando corresponda

Declaración de TXLSXCells

type
  TXLSXCells = class
    constructor Create(AOwnerSheet: TXLSXWorksheet);
    destructor Destroy; override;
    procedure Clear;
    function HasCell(ARow, ACol: Integer): Boolean;
    function Remove(ARow, ACol: Integer): Boolean;
    property Item[ARow, ACol: Integer]: TXLSXCell; default;
    property Count: Integer;
    property CellByIndex[Index: Integer]: TXLSXCell;
  end;
      

Miembros de TXLSXCells

CreateConstruye una colección de celdas vinculada a una hoja de cálculo propietaria
DestroyLibera todas las celdas propiedad de la colección
Item[Row, Col]Devuelve la celda en las coordenadas dadas basadas en 1, creando un TXLSXCell vacío en el primer acceso. Declarada como la propiedad por defecto de modo que Cells[Row, Col] funciona como una abreviatura
CountCantidad de celdas almacenadas actualmente
CellByIndex[i]Celda en el índice de inserción basado en 0 dado; útil para la enumeración secuencial sin conocimiento previo de las filas y columnas pobladas
RemoveElimina una celda existente en la coordenada y devuelve si la eliminación realmente ocurrió
HasCell(Row, Col)Devuelve True si ya existe una celda en las coordenadas dadas. Utilice esto para evitar la creación de una celda vacía como efecto secundario de Item[Row, Col]
ClearElimina y libera cada celda de la colección

Ejemplo

var
  ws: TXLSXWorksheet;
  i: Integer;
begin
  ws := Workbook.Sheets.Add('Demo');

  ws.Cells.Item[1, 1].Value := 'Hello';
  ws.Cells.Item[1, 2].Value := 123.45;
  ws.Cells.Item[2, 1].Value := Now;             // renders as a date
  ws.Cells.Item[2, 2].Formula := 'SUM(B1:B1)';

  for i := 0 to ws.Cells.Count - 1 do
    WriteLn(ws.Cells.CellByIndex[i].Row, ',',
            ws.Cells.CellByIndex[i].Col);
end;
    

Ver también