Documentação HotXLS

Classes TXLSXCell / TXLSXCells

Acesso ao valor da célula em uma TXLSXWorksheetTXLSXCell é uma única célula (valor mais fórmula opcional e índice de formato); TXLSXCells é a coleção por planilha alcançada por meio de Worksheet.Cells. Declarado em lxHandleX

Declaração 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;
      

Membros de TXLSXCell

DestroyLibera o estado da instância e os recursos de propriedade
SetWorkbookGrava a referência da pasta de trabalho proprietária para que operações como buscas de formato de número possam reutilizar os pools de pastas de trabalho compartilhados em tempo O(1)
SetArrayRoot / SetArrayRangeDefine marcadores ArrayRoot* e ArrayLast* para âncoras de distribuição de fórmulas de matriz para que uma célula raiz mapeie todas as células dependentes no mesmo retângulo
WorkbookReferência de retorno para a TXLSXWorkbook proprietária definida pela criação da célula da planilha
ArrayRootRow / ArrayRootCol / ArrayLastRow / ArrayLastColMetadados de distribuição CSE apenas para leitura usados pela viagem de ida e volta salvar/carregar para retângulos de fórmulas de matriz
RowÍndice de linha baseado em 1
ColÍndice de coluna baseado em 1 (1 = A, 2 = B, ...)
ValueValor da célula como um Variant. Strings, números, booleanos, e TDateTime são todos suportados. Definir um TDateTime seleciona automaticamente a data integrada cellXf (XlsxXfIndexDate) quando nenhum FormatIndex explícito for definido
FormatIndexÍndice em xl/styles.xmlcellXfs Deixe em 0 para o estilo padrão. O índice 1 é reservado para o formato de data integrado (numFmtId 14, m/d/yyyy). Quando definido, FormatIndex tem precedência sobre FontIndex na célula emitida
FontIndexÍndice baseado em 1 em TXLSXWorkbook.Fonts Deixe em 0 para herdar o padrão Calibri 11
FillIndexÍndice baseado em 1 em TXLSXWorkbook.Fills Veja TXLSXFill
BorderIndexÍndice baseado em 1 em TXLSXWorkbook.Borders Veja TXLSXBorder
NumberFormatIndexÍndice baseado em 1 em TXLSXWorkbook.NumberFormats Use isso para códigos de formato personalizados como '$#,##0.00' ou 'yyyy-mm-dd hh:mm:ss'
NumberFormatPropriedade de conveniência para texto de formato de número personalizado A leitura retorna o código de formato do pool de formatos de número da pasta de trabalho quando NumberFormatIndex aponta para um; a atribuição de uma string encontra ou anexa o formato e atualiza NumberFormatIndex
AlignmentIndexÍndice baseado em 1 em TXLSXWorkbook.Alignments Veja TXLSXAlignment para os controles de alinhamento horizontal / vertical / quebra / recuo / rotação por entrada
RichTextCarga útil opcional da proprietária TXLSXRichText Quando definida, a célula passa pela tabela de strings compartilhadas como uma entrada <si> de execução múltipla em vez de uma string simples; a atribuição de nil reverte para o valor Variant da célula
PrecedenceQuando várias propriedades *Index estão definidas na mesma célula, o lado do SaveAs escolhe o cellXf correspondente nesta ordem: FormatIndex > FontIndex > FillIndex > BorderIndex > NumberFormatIndex
FormulaTexto de fórmula opcional (sem =inicial) Quando definido, SaveAs emite um elemento filho <f> junto com o valor da célula, e Open o lê de volta
ProtectionIndexÍndice no pool de proteção da pasta de trabalho. As propriedades de conveniência Locked e FormulaHidden mantêm este índice automaticamente para uso comum
LockedQuando True (padrão para cada nova célula), a célula é protegida quando a planilha é protegida. Defina como False para permitir a edição de uma célula específica dentro de uma planilha protegida. Grava um atributo <protection locked="0"/> dentro do cellXf da célula quando diferente do padrão
FormulaHiddenQuando True, a barra de fórmulas não exibe a fórmula da célula enquanto a planilha estiver protegida. O padrão é False. Emite <protection hidden="1"/> no cellXf
FormattedTextcorrespondente
TaggedTextWideString apenas para leitura. Retorna o valor da célula formatado como uma string de acordo com seu código de formato de número personalizado ou integrado ativo
NamedStyleXfIdRead-only Integer. Returns the cellXfs do estilo nomeado ao qual esta célula está vinculada, ou -1 when the cell has no style payload
LinkedStyleRead/write TXLSXLinkedStyle record. Vincula a célula a um estilo nomeado: AutomaticChoose deixa o Excel escolher o estilo automaticamente e LinkedParts WideString apenas para leitura. Retorna a string da célula formatada contendo tags de formatação semelhantes a HTML/XML para estilos de rich text quando aplicável

Declaração 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;
      

Membros de TXLSXCells

CreateConstrói uma coleção de células vinculada a uma planilha proprietária
DestroyLibera todas as células de propriedade da coleção
Item[Row, Col]Retorna a célula nas coordenadas fornecidas baseadas em 1, criando uma TXLSXCell vazia no primeiro acesso. Declarada como a propriedade padrão para que Cells[Row, Col] funcione como um atalho
CountNúmero de células armazenadas atualmente
CellByIndex[i]Célula no índice de inserção fornecido baseado em 0. Útil para enumeração sequencial sem conhecimento prévio de linhas e colunas preenchidas
RemoveExclui uma célula existente na coordenada e retorna se a remoção realmente ocorreu
HasCell(Row, Col)Retorna True se uma célula já existir nas coordenadas fornecidas. Use isso para evitar a criação de uma célula vazia como efeito colateral de Item[Row, Col]
ClearRemove e libera todas as células da coleção

Exemplo

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;
    

Veja também