Dokumentace HotXLS

Třídy TXLSXCell / TXLSXCells

Přístup k hodnotám buněk v TXLSXWorksheetTXLSXCell je samostatná buňka (hodnota plus volitelný vzorec a index formátu); TXLSXCells je kolekce pro konkrétní list dostupná přes Worksheet.Cells. Deklarováno v lxHandleX

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

Členové TXLSXCell

DestroyUvolní stav instance a uvolní vlastněné prostředky
SetWorkbookZapíše referenci na vlastnící sešit, takže operace jako vyhledávání formátů čísel mohou znovu použít sdílené fondy sešitu v čase O(1)
SetArrayRoot / SetArrayRangeNastaví značky ArrayRoot* a ArrayLast* pro ukotvení rozlití maticového vzorce, takže jedna kořenová buňka mapuje všechny závislé buňky ve stejném obdélníku
WorkbookZpětný odkaz na vlastnící TXLSXWorkbook nastavený při vytvoření buňky listu
ArrayRootRow / ArrayRootCol / ArrayLastRow / ArrayLastColMetadata rozlití CSE pouze pro čtení používaná při ukládání a načítání pro obdélníky maticových vzorců
RowIndex řádku od 1
ColIndex sloupce od 1 (1 = A, 2 = B, ...)
ValueHodnota buňky jako Variant. Podporovány jsou řetězce, čísla, booleovské hodnoty a TDateTime . Nastavení TDateTime automaticky vybere vestavěný formát data cellXf (XlsxXfIndexDate), pokud není nastaven explicitní FormatIndex is set
FormatIndexIndex do xl/styles.xmlcellXfs v 0 Ponechte na 1 pro výchozí styl. IndexnumFmtId 14je vyhrazen pro vestavěný formát data ( m/d/yyyy, FormatIndex ). Pokud je nastaven, FontIndex má v generované buňce přednost před
FontIndexIndex od 1 do TXLSXWorkbook.Fonts Ponechte na 0 pro dědění výchozího písma Calibri 11
FillIndexIndex od 1 do TXLSXWorkbook.Fills Viz TXLSXFill
BorderIndexIndex od 1 do TXLSXWorkbook.Borders Viz TXLSXBorder
NumberFormatIndexIndex od 1 do TXLSXWorkbook.NumberFormats Použijte pro vlastní kódy formátů, jako je '$#,##0.00' nebo 'yyyy-mm-dd hh:mm:ss'
NumberFormatPohodlná vlastnost pro vlastní text formátu čísla Čtení vrátí kód formátu z fondu formátů čísel sešitu, pokud na něj odkazuje NumberFormatIndex ; přiřazení řetězce vyhledá nebo připojí formát a aktualizuje NumberFormatIndex
AlignmentIndexIndex od 1 do TXLSXWorkbook.Alignments Viz TXLSXAlignment pro nastavení vodorovného / svislého zarovnání, zalamování, odsazení a otočení
RichTextVolitelný vlastněný objekt TXLSXRichText . Pokud je nastaven, buňka prochází tabulkou sdílených řetězců jako víceběhový záznam <si> namísto prostého řetězce; přiřazení nil vrátí buňku na její Variant hodnotu
PrecedencePokud je pro stejnou buňku nastaveno několik vlastností *Index , strana uložení vybere odpovídající cellXf v tomto pořadí: FormatIndex > FontIndex > FillIndex > BorderIndex > NumberFormatIndex
FormulaVolitelný text vzorce (bez počátečního =) Pokud je nastaven, SaveAs vygeneruje podřízený prvek <f> vedle hodnoty buňky a Open jej přečte zpět
ProtectionIndexIndex do fondu ochrany sešitu. Pohodlné vlastnosti Locked a FormulaHidden spravují tento index automaticky pro běžné použití
LockedPokud je True (výchozí pro každou novou buňku), buňka je chráněna, když je chráněn list. Nastavením na False povolíte úpravy konkrétní buňky v chráněném listu. Zapíše atribut <protection locked="0"/> uvnitř cellXf buňky, pokud se liší od výchozího nastavení
FormulaHiddenPokud je True, řádek vzorců nezobrazuje vzorec buňky, když je list chráněn. Výchozí hodnota je False. Vygeneruje <protection hidden="1"/> v odpovídajícím cellXf
FormattedTextInteger pouze pro čtení. Vrátí index
TaggedTextWideString pouze pro čtení. Vrací formátovaný řetězec buňky obsahující – tam, kde je to relevantní – formátovací značky ve stylu HTML/XML pro styly rich textu.
NamedStyleXfIdRead-only Integer. Returns the cellXfs pojmenovaného stylu, na který buňka odkazuje, nebo -1 , když buňka nemá žádný style payload
LinkedStyleZáznam TXLSXLinkedStyle pro čtení i zápis. Propojí buňku s pojmenovaným stylem: AutomaticChoose nechá styl vybrat Excel automaticky a LinkedParts WideString pouze pro čtení. Vrátí formátovaný řetězec buňky obsahující formátovací značky podobné HTML/XML pro styly formátovaného textu, pokud je to použitelné

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

Členové TXLSXCells

CreateVytvoří kolekci buněk svázanou s jedním vlastnicím listem
DestroyUvolní všechny buňky vlastněné kolekcí
Item[Row, Col]Vrátí buňku na zadaných souřadnicích od 1, přičemž při prvním přístupu vytvoří prázdnou buňku TXLSXCell . Deklarováno jako výchozí vlastnost, takže Cells[Row, Col] funguje jako zkratka
CountPočet aktuálně uložených buněk
CellByIndex[i]Buňka na zadaném indexu vložení od 0. Užitečné pro sekvenční výčet bez předchozí znalosti obsazených řádků a sloupců
RemoveSmaže jednu existující buňku na souřadnici a vrátí zda k odstranění skutečně došlo
HasCell(Row, Col)Vrátí True , pokud buňka na zadaných souřadnicích již existuje. Použijte k tomu, abyste zabránili vytvoření prázdné buňky jako vedlejšího efektu Item[Row, Col]
ClearOdstraní a uvolní každou buňku v kolekci

Příklad

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;
    

Viz také