HotXLS-dokumentation

TXLSXCell / TXLSXCells-klasser

Celleværdiadgang på en TXLSXWorksheet. TXLSXCell is en enkelt celle (værdi plus valgfri formel og formatindeks); TXLSXCells er samlingen pr. regneark, der nås gennem Worksheet.Cells. Erklæret i lxHandleX

TXLSXCell-erklæring

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;
  end;
      

TXLSXCell-medlemmer

Destroy Frigør instanstilstand og frigiver ejede ressourcer
SetWorkbook Skriver den ejende projektmappereference, så operationer som f.eks. opslag af talformater kan genbruge de delte projektmappepools på O(1)-tid
SetArrayRoot / SetArrayRange Indstil ArrayRoot*- og ArrayLast*-markører for matrixformelspildankre, så én rodcelle kortlægger alle afhængige celler i det samme rektangel
Workbook Tilbagereference til den ejende TXLSXWorkbook angivet ved oprettelse af regnearkscelle
ArrayRootRow / ArrayRootCol / ArrayLastRow / ArrayLastCol Skrivebeskyttede CSE-spildmetadata, der bruges af gem-/indlæs-turen frem og tilbage for matrixformelrektangler
Row 1-baseret rækkeindeks
Col 1-baseret kolonneindeks (1 = A, 2 = B, ...)
Value Celleværdi som en Variant. Strenge, tal, booleanske værdier og TDateTime understøttes alle. Indstilling af en TDateTime vælger automatisk den indbyggede dato cellXf (XlsxXfIndexDate), når der ikke er indstillet en eksplicit FormatIndex
FormatIndex Indeks i xl/styles.xml cellXfs; lad det forblive på 0 for standardtypografien. Indeks 1 er reserveret til det indbyggede datoformat (numFmtId 14, m/d/yyyy). Når det er angivet, har FormatIndex forrang over FontIndex i den udsendte celle
FontIndex 1-baseret indeks i TXLSXWorkbook.Fonts. Lad stå på 0 for at arve standard Calibri 11
FillIndex 1-baseret indeks i TXLSXWorkbook.Fills; se TXLSXFill
BorderIndex 1-baseret indeks i TXLSXWorkbook.Borders; se TXLSXBorder
NumberFormatIndex 1-baseret indeks i TXLSXWorkbook.NumberFormats. Brug dette til brugerdefinerede formatkoder såsom '$#,##0.00' eller 'yyyy-mm-dd hh:mm:ss'
NumberFormat Praktisk egenskab til tilpasset talformattekst; læsning returnerer formatkoden fra projektmappens talformatpool, når NumberFormatIndex peger på et; tildeling af en streng finder eller tilføjer formatet og opdaterer NumberFormatIndex
AlignmentIndex 1-baseret indeks i TXLSXWorkbook.Alignments; se TXLSXAlignment for de enkelte knapper til vandret / lodret / ombrydning / indrykning / rotation
RichText Valgfri ejet TXLSXRichText-data; når den er angivet, går cellen gennem tabellen med delte strenge som en multi-run <si>-post i stedet for en almindelig streng; tildeling af nil vender tilbage til cellens Variant-værdi
Precedence Når flere *Index-egenskaber er indstillet på den samme celle, vælger SaveAs-siden den matchende cellXf i denne rækkefølge: FormatIndex > FontIndex > FillIndex > BorderIndex > NumberFormatIndex
Formula Valgfri formeltekst (uden indledende =); når den er angivet, udsender SaveAs et underordnet <f>-element ved siden af celleværdien, og Open læser det tilbage
ProtectionIndex Indeks til projektmappens beskyttelsespulje. De praktiske egenskaber Locked og FormulaHidden vedligeholder dette indeks automatisk til almindelig brug
Locked Når den er True (standard for hver ny celle), er cellen beskyttet, når regnearket er beskyttet. Sæt til False for at tillade redigering af en bestemt celle i et beskyttet ark. Skriver en <protection locked="0"/>-attribut i cellens cellXf, når den er forskellig fra standarden
FormulaHidden Når True, viser formellinjen ikke cellens formel, mens arket er beskyttet. Standard er False. Udsender <protection hidden="1"/> i det matchende cellXf
FormattedText Skrivebeskyttet WideString; returnerer cellens værdi formateret som en streng i henhold til dens aktive brugerdefinerede eller indbyggede talformatkode
TaggedText Skrivebeskyttet WideString; returnerer den formaterede cellestreng, der indeholder HTML/XML-lignende formateringstags for rige tekstformater, når det er relevant

TXLSXCells-erklæring

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;
      

TXLSXCells-medlemmer

Create Konstruerer en cellesamling knyttet til et ejende regneark
Destroy Frigiver alle celler ejet af samlingen
Item[Row, Col] Returnerer cellen på de angivne 1-baserede koordinater og opretter en tom TXLSXCell ved første adgang; erklæret som standardegenskab, så Cells[Row, Col] fungerer som en genvej
Count Antal celler gemt i øjeblikket
CellByIndex[i] Celle ved det angivne 0-baserede indsættelsesindeks; nyttig til sekventiel optælling uden forudgående kendskab til udfyldte rækker og kolonner
Remove Sletter en eksisterende celle ved koordinaten og returnerer, om fjernelsen faktisk fandt sted
HasCell(Row, Col) Returnerer True, hvis en celle allerede eksisterer ved de angivne koordinater. Brug dette til at undgå at oprette en tom celle som en bivirkning af Item[Row, Col]
Clear Fjerner og frigør hver celle i samlingen

Eksempel

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;
    

Se også